am dae3244b: am d46ad206: am 0b55e179: am 297b9d51: am 0c4dcb93: (-s ours) Merge "Added required features to location mode tests." into lmp-sprout-dev

* commit 'dae3244b9b595f4cd964536b444b379f66205b99':
diff --git a/hostsidetests/security/src/android/cts/security/SELinuxHostTest.java b/hostsidetests/security/src/android/cts/security/SELinuxHostTest.java
index 1f89abc..a0d3167 100644
--- a/hostsidetests/security/src/android/cts/security/SELinuxHostTest.java
+++ b/hostsidetests/security/src/android/cts/security/SELinuxHostTest.java
@@ -417,6 +417,7 @@
      */
     private void assertDomainOne(String domain, String executable) throws DeviceNotAvailableException {
         List<ProcessDetails> procs = ProcessDetails.getProcMap(mDevice).get(domain);
+        List<ProcessDetails> exeProcs = ProcessDetails.getExeMap(mDevice).get(executable);
         String msg = "Expected 1 process in SELinux domain \"" + domain + "\""
             + " Found \"" + procs + "\"";
         assertNotNull(msg, procs);
@@ -425,6 +426,15 @@
         msg = "Expected executable \"" + executable + "\" in SELinux domain \"" + domain + "\""
             + "Found: \"" + procs + "\"";
         assertEquals(msg, executable, procs.get(0).procTitle);
+
+        msg = "Expected 1 process with executable \"" + executable + "\""
+            + " Found \"" + procs + "\"";
+        assertNotNull(msg, exeProcs);
+        assertEquals(msg, 1, exeProcs.size());
+
+        msg = "Expected executable \"" + executable + "\" in SELinux domain \"" + domain + "\""
+            + "Found: \"" + procs + "\"";
+        assertEquals(msg, domain, exeProcs.get(0).label);
     }
 
     /**
@@ -440,18 +450,27 @@
     private void assertDomainZeroOrOne(String domain, String executable)
         throws DeviceNotAvailableException {
         List<ProcessDetails> procs = ProcessDetails.getProcMap(mDevice).get(domain);
-        if (procs == null) {
-            /* not on all devices */
-            return;
+        List<ProcessDetails> exeProcs = ProcessDetails.getExeMap(mDevice).get(executable);
+
+        if (procs != null) {
+            String msg = "Expected 1 process in SELinux domain \"" + domain + "\""
+            + " Found: \"" + procs + "\"";
+            assertEquals(msg, 1, procs.size());
+
+            msg = "Expected executable \"" + executable + "\" in SELinux domain \"" + domain + "\""
+                + "Found: \"" + procs.get(0) + "\"";
+            assertEquals(msg, executable, procs.get(0).procTitle);
         }
 
-        String msg = "Expected 1 process in SELinux domain \"" + domain + "\""
+        if (exeProcs != null) {
+            String msg = "Expected 1 process with executable \"" + executable + "\""
             + " Found: \"" + procs + "\"";
-        assertEquals(msg, 1, procs.size());
+            assertEquals(msg, 1, exeProcs.size());
 
-        msg = "Expected executable \"" + executable + "\" in SELinux domain \"" + domain + "\""
-            + "Found: \"" + procs.get(0) + "\"";
-        assertEquals(msg, executable, procs.get(0).procTitle);
+            msg = "Expected executable \"" + executable + "\" in SELinux domain \"" + domain + "\""
+                + "Found: \"" + procs.get(0) + "\"";
+            assertEquals(msg, domain, exeProcs.get(0).label);
+        }
     }
 
     /**
@@ -476,6 +495,18 @@
                 + " Found: \"" + p + "\"";
             assertTrue(msg, execList.contains(p.procTitle));
         }
+
+        for (String exe : executables) {
+            List<ProcessDetails> exeProcs = ProcessDetails.getExeMap(mDevice).get(exe);
+
+            if (exeProcs != null) {
+                for (ProcessDetails p : exeProcs) {
+                    msg = "Expected executable \"" + exe + "\" in SELinux domain \""
+                        + domain + "\"" + " Found: \"" + p + "\"";
+                    assertEquals(msg, domain, p.label);
+                }
+            }
+        }
     }
 
     /**
@@ -489,16 +520,27 @@
     private void assertDomainHasExecutable(String domain, String... executables)
         throws DeviceNotAvailableException {
         List<ProcessDetails> procs = ProcessDetails.getProcMap(mDevice).get(domain);
-        if (procs == null) {
-            return; // domain doesn't exist
+
+        if (procs != null) {
+            Set<String> execList = new HashSet<String>(Arrays.asList(executables));
+
+            for (ProcessDetails p : procs) {
+                String msg = "Expected one of \"" + execList + "\" in SELinux domain \""
+                    + domain + "\"" + " Found: \"" + p + "\"";
+                assertTrue(msg, execList.contains(p.procTitle));
+            }
         }
 
-        Set<String> execList = new HashSet<String>(Arrays.asList(executables));
+        for (String exe : executables) {
+            List<ProcessDetails> exeProcs = ProcessDetails.getExeMap(mDevice).get(exe);
 
-        for (ProcessDetails p : procs) {
-            String msg = "Expected one of \"" + execList + "\" in SELinux domain \""
-                + domain + "\"" + " Found: \"" + p + "\"";
-            assertTrue(msg, execList.contains(p.procTitle));
+            if (exeProcs != null) {
+                for (ProcessDetails p : exeProcs) {
+                    String msg = "Expected executable \"" + exe + "\" in SELinux domain \""
+                        + domain + "\"" + " Found: \"" + p + "\"";
+                    assertEquals(msg, domain, p.label);
+                }
+            }
         }
     }
 
@@ -585,6 +627,16 @@
         assertDomainZeroOrOne("u:r:watchdogd:s0", "/sbin/watchdogd");
     }
 
+    /* logd may or may not be there */
+    public void testLogdDomain() throws DeviceNotAvailableException {
+        assertDomainZeroOrOne("u:r:logd:s0", "/system/bin/logd");
+    }
+
+    /* lmkd may or may not be there */
+    public void testLmkdDomain() throws DeviceNotAvailableException {
+        assertDomainZeroOrOne("u:r:lmkd:s0", "/system/bin/lmkd");
+    }
+
     /* Wifi may be off so cardinality of 0 or 1 is ok */
     public void testWpaDomain() throws DeviceNotAvailableException {
         assertDomainZeroOrOne("u:r:wpa:s0", "/system/bin/wpa_supplicant");
@@ -635,6 +687,7 @@
         public String procTitle;
 
         private static HashMap<String, ArrayList<ProcessDetails>> procMap;
+        private static HashMap<String, ArrayList<ProcessDetails>> exeMap;
         private static int kernelParentThreadpid = -1;
 
         ProcessDetails(String label, String user, int pid, int ppid, String procTitle) {
@@ -666,6 +719,7 @@
                     Pattern.MULTILINE);
             Matcher m = p.matcher(psOutString);
             procMap = new HashMap<String, ArrayList<ProcessDetails>>();
+            exeMap = new HashMap<String, ArrayList<ProcessDetails>>();
             while(m.find()) {
                 String domainLabel = m.group(1);
                 String user = m.group(2);
@@ -680,6 +734,10 @@
                 if (procTitle.equals("kthreadd") && ppid == 0) {
                     kernelParentThreadpid = pid;
                 }
+                if (exeMap.get(procTitle) == null) {
+                    exeMap.put(procTitle, new ArrayList<ProcessDetails>());
+                }
+                exeMap.get(procTitle).add(proc);
             }
         }
 
@@ -691,6 +749,14 @@
             return procMap;
         }
 
+        public static HashMap<String, ArrayList<ProcessDetails>> getExeMap(ITestDevice tDevice)
+                throws DeviceNotAvailableException{
+            if (exeMap == null) {
+                createProcMap(tDevice);
+            }
+            return exeMap;
+        }
+
         public boolean isKernel() {
             return (pid == kernelParentThreadpid || ppid == kernelParentThreadpid);
         }
diff --git a/tests/core/libcore/tzdata/Android.mk b/tests/core/libcore/tzdata/Android.mk
new file mode 100644
index 0000000..ecbd070
--- /dev/null
+++ b/tests/core/libcore/tzdata/Android.mk
@@ -0,0 +1,24 @@
+# Copyright (C) 2015 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+LOCAL_PATH:= $(call my-dir)
+
+ifeq ($(BUILD_CTSCORE_PACKAGE),)
+    $(error BUILD_CTSCORE_PACKAGE must be defined)
+endif
+
+include $(CLEAR_VARS)
+LOCAL_PACKAGE_NAME := android.core.tests.libcore.package.tzdata
+LOCAL_STATIC_JAVA_LIBRARIES := tzdata_update-tests
+include $(BUILD_CTSCORE_PACKAGE)
diff --git a/tests/core/libcore/tzdata/AndroidManifest.xml b/tests/core/libcore/tzdata/AndroidManifest.xml
new file mode 100644
index 0000000..8a4fad8
--- /dev/null
+++ b/tests/core/libcore/tzdata/AndroidManifest.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ -->
+
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="android.core.tests.libcore.package.tzdata">
+    <application>
+        <uses-library android:name="android.test.runner" />
+    </application>
+
+    <instrumentation android:name="android.support.test.runner.AndroidJUnitRunner"
+                     android:targetPackage="android.core.tests.runner"
+                     android:label="cts framework tests">
+        <meta-data android:name="listener"
+            android:value="com.android.cts.runner.CtsTestRunListener" />
+    </instrumentation>
+
+</manifest>
diff --git a/tests/tests/bionic/Android.mk b/tests/tests/bionic/Android.mk
index f441d7a..06b7920 100644
--- a/tests/tests/bionic/Android.mk
+++ b/tests/tests/bionic/Android.mk
@@ -21,6 +21,7 @@
     libBionicCtsGtestMain \
 
 LOCAL_STATIC_LIBRARIES += \
+    libbase \
     libtinyxml2 \
     liblog \
     libgtest \
@@ -46,6 +47,11 @@
     libBionicTests \
     libBionicCtsGtestMain \
 
+LOCAL_STATIC_LIBRARIES += \
+    libbase \
+    liblog \
+    libcutils \
+
 LOCAL_CXX_STL := libc++
 
 include $(BUILD_HOST_NATIVE_TEST)
diff --git a/tests/tests/hardware/src/android/hardware/cts/SensorTest.java b/tests/tests/hardware/src/android/hardware/cts/SensorTest.java
index a16f16f..ac7632d 100644
--- a/tests/tests/hardware/src/android/hardware/cts/SensorTest.java
+++ b/tests/tests/hardware/src/android/hardware/cts/SensorTest.java
@@ -58,8 +58,10 @@
 
     private PowerManager.WakeLock mWakeLock;
     private SensorManager mSensorManager;
+    private TestSensorManager mTestSensorManager;
     private NullTriggerEventListener mNullTriggerEventListener;
     private NullSensorEventListener mNullSensorEventListener;
+    private Sensor mTriggerSensor;
     private List<Sensor> mSensorList;
 
     @Override
@@ -85,6 +87,20 @@
 
     @Override
     protected void tearDown(){
+        if (mSensorManager != null) {
+            // SensorManager will check listener and status, so just unregister listener
+            mSensorManager.unregisterListener(mNullSensorEventListener);
+            if (mTriggerSensor != null) {
+                mSensorManager.cancelTriggerSensor(mNullTriggerEventListener, mTriggerSensor);
+                mTriggerSensor = null;
+            }
+        }
+
+        if (mTestSensorManager != null) {
+            mTestSensorManager.unregisterListener();
+            mTestSensorManager = null;
+        }
+
         if (mWakeLock != null && mWakeLock.isHeld()) {
             mWakeLock.release();
         }
@@ -234,20 +250,20 @@
     }
 
     public void testRequestTriggerWithNonTriggerSensor() {
-        Sensor sensor = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
-        if (sensor == null) {
+        mTriggerSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
+        if (mTriggerSensor == null) {
             throw new SensorNotSupportedException(Sensor.TYPE_ACCELEROMETER);
         }
-        boolean  result = mSensorManager.requestTriggerSensor(mNullTriggerEventListener, sensor);
+        boolean  result = mSensorManager.requestTriggerSensor(mNullTriggerEventListener, mTriggerSensor);
         assertFalse(result);
     }
 
     public void testCancelTriggerWithNonTriggerSensor() {
-        Sensor sensor = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
-        if (sensor == null) {
+        mTriggerSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
+        if (mTriggerSensor == null) {
             throw new SensorNotSupportedException(Sensor.TYPE_ACCELEROMETER);
         }
-        boolean result = mSensorManager.cancelTriggerSensor(mNullTriggerEventListener, sensor);
+        boolean result = mSensorManager.cancelTriggerSensor(mNullTriggerEventListener, mTriggerSensor);
         assertFalse(result);
     }
 
@@ -323,16 +339,16 @@
                 sensor,
                 SensorManager.SENSOR_DELAY_FASTEST,
                 (int) TimeUnit.SECONDS.toMicros(5));
-        TestSensorManager sensorManager = new TestSensorManager(environment);
+        mTestSensorManager = new TestSensorManager(environment);
 
         HandlerThread handlerThread = new HandlerThread("sensorThread");
         handlerThread.start();
         Handler handler = new Handler(handlerThread.getLooper());
         TestSensorEventListener listener = new TestSensorEventListener(environment, handler);
 
-        CountDownLatch eventLatch = sensorManager.registerListener(listener, 1);
+        CountDownLatch eventLatch = mTestSensorManager.registerListener(listener, 1);
         listener.waitForEvents(eventLatch, 1);
-        CountDownLatch flushLatch = sensorManager.requestFlush();
+        CountDownLatch flushLatch = mTestSensorManager.requestFlush();
         listener.waitForFlushComplete(flushLatch);
         listener.assertEventsReceivedInHandler();
     }
diff --git a/tests/tests/hardware/src/android/hardware/cts/helpers/TestSensorEnvironment.java b/tests/tests/hardware/src/android/hardware/cts/helpers/TestSensorEnvironment.java
index 7d10f91..143f0a1 100644
--- a/tests/tests/hardware/src/android/hardware/cts/helpers/TestSensorEnvironment.java
+++ b/tests/tests/hardware/src/android/hardware/cts/helpers/TestSensorEnvironment.java
@@ -248,10 +248,19 @@
     }
 
     /**
-     * @return The actual sampling period at which a sensor can sample data. This value is a
-     *         fraction of {@link #getExpectedSamplingPeriodUs()}.
+     * @return The maximum acceptable actual sampling period of this sensor.
+     *         For continuous sensors, this is higher than {@link #getExpectedSamplingPeriodUs()}
+     *         because sensors are allowed to run up to 10% slower than requested.
+     *         For sensors with other reporting modes, this is the maximum integer
+     *         {@link Integer#MAX_VALUE} as they can report no events for long
+     *         periods of time.
      */
     public int getMaximumExpectedSamplingPeriodUs() {
+        int sensorReportingMode = mSensor.getReportingMode();
+        if (sensorReportingMode != Sensor.REPORTING_MODE_CONTINUOUS) {
+            return Integer.MAX_VALUE;
+        }
+
         int expectedSamplingPeriodUs = getExpectedSamplingPeriodUs();
         return (int) (expectedSamplingPeriodUs / MAXIMUM_EXPECTED_SAMPLING_FREQUENCY_MULTIPLIER);
     }
diff --git a/tests/tests/hardware/src/android/hardware/cts/helpers/TestSensorEventListener.java b/tests/tests/hardware/src/android/hardware/cts/helpers/TestSensorEventListener.java
index 7b1a499..662c3ce 100644
--- a/tests/tests/hardware/src/android/hardware/cts/helpers/TestSensorEventListener.java
+++ b/tests/tests/hardware/src/android/hardware/cts/helpers/TestSensorEventListener.java
@@ -49,7 +49,7 @@
     private static final long EVENT_TIMEOUT_US = TimeUnit.SECONDS.toMicros(5);
     private static final long FLUSH_TIMEOUT_US = TimeUnit.SECONDS.toMicros(10);
 
-    private final List<TestSensorEvent> mCollectedEvents = new ArrayList<>();
+    private final ArrayList<TestSensorEvent> mCollectedEvents = new ArrayList<>();
     private final List<CountDownLatch> mEventLatches = new ArrayList<>();
     private final List<CountDownLatch> mFlushLatches = new ArrayList<>();
     private final AtomicInteger mEventsReceivedOutsideHandler = new AtomicInteger();
@@ -155,7 +155,8 @@
      */
     public List<TestSensorEvent> getCollectedEvents() {
         synchronized (mCollectedEvents){
-            return Collections.unmodifiableList(mCollectedEvents);
+            List<TestSensorEvent> collectedEventsList = (List)mCollectedEvents.clone();
+            return Collections.unmodifiableList(collectedEventsList);
         }
     }
 
diff --git a/tests/tests/hardware/src/android/hardware/cts/helpers/sensorverification/EventTimestampSynchronizationVerification.java b/tests/tests/hardware/src/android/hardware/cts/helpers/sensorverification/EventTimestampSynchronizationVerification.java
index d4a1f38..7c4deb9 100644
--- a/tests/tests/hardware/src/android/hardware/cts/helpers/sensorverification/EventTimestampSynchronizationVerification.java
+++ b/tests/tests/hardware/src/android/hardware/cts/helpers/sensorverification/EventTimestampSynchronizationVerification.java
@@ -67,13 +67,13 @@
      */
     public static EventTimestampSynchronizationVerification getDefault(
             TestSensorEnvironment environment) {
-        int reportLatencyUs = environment.getMaxReportLatencyUs();
-        int fifoMaxEventCount = environment.getSensor().getFifoMaxEventCount();
-        if (fifoMaxEventCount > 0) {
-            int fifoBasedReportLatencyUs =
-                    fifoMaxEventCount * environment.getMaximumExpectedSamplingPeriodUs();
+        long reportLatencyUs = environment.getMaxReportLatencyUs();
+        long fifoMaxEventCount = environment.getSensor().getFifoMaxEventCount();
+        int maximumExpectedSamplingPeriodUs = environment.getMaximumExpectedSamplingPeriodUs();
+        if (fifoMaxEventCount > 0 && maximumExpectedSamplingPeriodUs != Integer.MAX_VALUE) {
+            long fifoBasedReportLatencyUs =
+                    fifoMaxEventCount * maximumExpectedSamplingPeriodUs;
             reportLatencyUs = Math.min(reportLatencyUs, fifoBasedReportLatencyUs);
-
         }
         long reportLatencyNs = TimeUnit.MICROSECONDS.toNanos(reportLatencyUs);
         return new EventTimestampSynchronizationVerification(DEFAULT_THRESHOLD_NS, reportLatencyNs);
diff --git a/tests/tests/keystore/src/android/keystore/cts/AndroidKeyPairGeneratorTest.java b/tests/tests/keystore/src/android/keystore/cts/AndroidKeyPairGeneratorTest.java
index 284ac83..08dae1e 100644
--- a/tests/tests/keystore/src/android/keystore/cts/AndroidKeyPairGeneratorTest.java
+++ b/tests/tests/keystore/src/android/keystore/cts/AndroidKeyPairGeneratorTest.java
@@ -31,12 +31,9 @@
 import java.security.SecureRandom;
 import java.security.cert.Certificate;
 import java.security.cert.X509Certificate;
-import java.security.interfaces.DSAParams;
-import java.security.interfaces.DSAPublicKey;
 import java.security.interfaces.ECPublicKey;
 import java.security.interfaces.RSAPublicKey;
 import java.security.spec.AlgorithmParameterSpec;
-import java.security.spec.DSAParameterSpec;
 import java.security.spec.RSAKeyGenParameterSpec;
 import java.text.SimpleDateFormat;
 import java.util.Date;
@@ -130,167 +127,6 @@
                 new SecureRandom());
     }
 
-    public void testKeyPairGenerator_GenerateKeyPair_DSA_Unencrypted_Success() throws Exception {
-        mGenerator.initialize(new KeyPairGeneratorSpec.Builder(getContext())
-                .setAlias(TEST_ALIAS_1)
-                .setKeyType("DSA")
-                .setSubject(TEST_DN_1)
-                .setSerialNumber(TEST_SERIAL_1)
-                .setStartDate(NOW)
-                .setEndDate(NOW_PLUS_10_YEARS)
-                .build());
-
-        final KeyPair pair = mGenerator.generateKeyPair();
-        assertNotNull("The KeyPair returned should not be null", pair);
-
-        assertKeyPairCorrect(pair, TEST_ALIAS_1, "DSA", 1024, null, TEST_DN_1, TEST_SERIAL_1, NOW,
-                NOW_PLUS_10_YEARS);
-    }
-
-    public void testKeyPairGenerator_GenerateKeyPair_DSA_2048_Unencrypted_Success()
-            throws Exception {
-        mGenerator.initialize(new KeyPairGeneratorSpec.Builder(getContext())
-                .setAlias(TEST_ALIAS_1)
-                .setKeyType("DSA")
-                .setKeySize(2048)
-                .setSubject(TEST_DN_1)
-                .setSerialNumber(TEST_SERIAL_1)
-                .setStartDate(NOW)
-                .setEndDate(NOW_PLUS_10_YEARS)
-                .build());
-
-        final KeyPair pair = mGenerator.generateKeyPair();
-        assertNotNull("The KeyPair returned should not be null", pair);
-
-        assertKeyPairCorrect(pair, TEST_ALIAS_1, "DSA", 2048, null, TEST_DN_1, TEST_SERIAL_1, NOW,
-                NOW_PLUS_10_YEARS);
-    }
-
-    public void testKeyPairGenerator_GenerateKeyPair_DSA_SpecifiedParams_Unencrypted_Success()
-            throws Exception {
-        /*
-         * generated using: openssl dsaparam -C 2048
-         */
-        BigInteger p = new BigInteger(1, new byte[] {
-                (byte) 0xC0, (byte) 0x3D, (byte) 0x86, (byte) 0x09, (byte) 0xCA, (byte) 0x8C,
-                (byte) 0x37, (byte) 0xCA, (byte) 0xCC, (byte) 0x4A, (byte) 0x81, (byte) 0xBD,
-                (byte) 0xD8, (byte) 0x50, (byte) 0x77, (byte) 0xCD, (byte) 0xDD, (byte) 0x32,
-                (byte) 0x0B, (byte) 0x43, (byte) 0xBF, (byte) 0x42, (byte) 0x06, (byte) 0x5A,
-                (byte) 0x3D, (byte) 0x18, (byte) 0x50, (byte) 0x47, (byte) 0x79, (byte) 0xE1,
-                (byte) 0x5B, (byte) 0x86, (byte) 0x03, (byte) 0xB9, (byte) 0x28, (byte) 0x9C,
-                (byte) 0x18, (byte) 0xA9, (byte) 0xF5, (byte) 0xD6, (byte) 0xF4, (byte) 0x94,
-                (byte) 0x5B, (byte) 0x87, (byte) 0x58, (byte) 0xCA, (byte) 0xB2, (byte) 0x1E,
-                (byte) 0xFC, (byte) 0xED, (byte) 0x37, (byte) 0xC3, (byte) 0x49, (byte) 0xAC,
-                (byte) 0xFA, (byte) 0x46, (byte) 0xDB, (byte) 0x7A, (byte) 0x50, (byte) 0x96,
-                (byte) 0xCF, (byte) 0x52, (byte) 0xD7, (byte) 0x4E, (byte) 0xEB, (byte) 0x26,
-                (byte) 0x41, (byte) 0xA2, (byte) 0x6F, (byte) 0x99, (byte) 0x80, (byte) 0x9F,
-                (byte) 0x0F, (byte) 0x0A, (byte) 0xA8, (byte) 0x0D, (byte) 0xAC, (byte) 0xAB,
-                (byte) 0xEF, (byte) 0x7D, (byte) 0xE7, (byte) 0x4C, (byte) 0xF1, (byte) 0x88,
-                (byte) 0x44, (byte) 0xC9, (byte) 0x17, (byte) 0xD0, (byte) 0xBB, (byte) 0xE2,
-                (byte) 0x01, (byte) 0x8C, (byte) 0xC1, (byte) 0x02, (byte) 0x1D, (byte) 0x3C,
-                (byte) 0x15, (byte) 0xB7, (byte) 0x41, (byte) 0x30, (byte) 0xD8, (byte) 0x11,
-                (byte) 0xBD, (byte) 0x6A, (byte) 0x2A, (byte) 0x0D, (byte) 0x36, (byte) 0x44,
-                (byte) 0x9C, (byte) 0x3F, (byte) 0x32, (byte) 0xE2, (byte) 0x1C, (byte) 0xFB,
-                (byte) 0xE3, (byte) 0xFF, (byte) 0xCC, (byte) 0x1A, (byte) 0x72, (byte) 0x38,
-                (byte) 0x37, (byte) 0x69, (byte) 0x5E, (byte) 0x35, (byte) 0x73, (byte) 0xE1,
-                (byte) 0x1E, (byte) 0x74, (byte) 0x35, (byte) 0x44, (byte) 0x07, (byte) 0xB5,
-                (byte) 0x2F, (byte) 0x0B, (byte) 0x60, (byte) 0xF4, (byte) 0xA9, (byte) 0xE0,
-                (byte) 0x81, (byte) 0xB2, (byte) 0xCD, (byte) 0x8B, (byte) 0x82, (byte) 0x76,
-                (byte) 0x7F, (byte) 0xD4, (byte) 0x17, (byte) 0x32, (byte) 0x86, (byte) 0x98,
-                (byte) 0x7C, (byte) 0x85, (byte) 0x66, (byte) 0xF6, (byte) 0x77, (byte) 0xED,
-                (byte) 0x8B, (byte) 0x1A, (byte) 0x52, (byte) 0x16, (byte) 0xDA, (byte) 0x1C,
-                (byte) 0xA7, (byte) 0x16, (byte) 0x79, (byte) 0x20, (byte) 0x1C, (byte) 0x99,
-                (byte) 0x5F, (byte) 0x12, (byte) 0x66, (byte) 0x15, (byte) 0x9F, (byte) 0xE5,
-                (byte) 0x73, (byte) 0xA9, (byte) 0x61, (byte) 0xBA, (byte) 0xA7, (byte) 0x23,
-                (byte) 0x93, (byte) 0x77, (byte) 0xB5, (byte) 0xF6, (byte) 0xEC, (byte) 0x13,
-                (byte) 0xBF, (byte) 0x95, (byte) 0x60, (byte) 0x78, (byte) 0x84, (byte) 0xE3,
-                (byte) 0x44, (byte) 0xEC, (byte) 0x74, (byte) 0xC2, (byte) 0xCB, (byte) 0xD4,
-                (byte) 0x70, (byte) 0xC5, (byte) 0x7B, (byte) 0xF8, (byte) 0x07, (byte) 0x3B,
-                (byte) 0xEB, (byte) 0x9F, (byte) 0xC9, (byte) 0x7D, (byte) 0xE0, (byte) 0xA5,
-                (byte) 0xBA, (byte) 0x68, (byte) 0x7B, (byte) 0xF4, (byte) 0x70, (byte) 0x40,
-                (byte) 0xAE, (byte) 0xE9, (byte) 0x65, (byte) 0xEE, (byte) 0x5B, (byte) 0x71,
-                (byte) 0x36, (byte) 0x0B, (byte) 0xB0, (byte) 0xA2, (byte) 0x98, (byte) 0x7D,
-                (byte) 0xE3, (byte) 0x24, (byte) 0x95, (byte) 0x2B, (byte) 0xC2, (byte) 0x0A,
-                (byte) 0x78, (byte) 0x3D, (byte) 0xCC, (byte) 0x3A, (byte) 0xEE, (byte) 0xED,
-                (byte) 0x48, (byte) 0xEB, (byte) 0xA3, (byte) 0x78, (byte) 0xA8, (byte) 0x9D,
-                (byte) 0x0A, (byte) 0x8F, (byte) 0x9E, (byte) 0x59, (byte) 0x2C, (byte) 0x44,
-                (byte) 0xB5, (byte) 0xF9, (byte) 0x53, (byte) 0x43,
-        });
-
-        BigInteger q = new BigInteger(1, new byte[] {
-                (byte) 0xA1, (byte) 0x9B, (byte) 0x1D, (byte) 0xC0, (byte) 0xE3, (byte) 0xF6,
-                (byte) 0x4A, (byte) 0x35, (byte) 0xE1, (byte) 0x8A, (byte) 0x43, (byte) 0xC2,
-                (byte) 0x9C, (byte) 0xF9, (byte) 0x52, (byte) 0x8F, (byte) 0x94, (byte) 0xA1,
-                (byte) 0x12, (byte) 0x11, (byte) 0xDB, (byte) 0x9A, (byte) 0xB6, (byte) 0x35,
-                (byte) 0x56, (byte) 0x26, (byte) 0x60, (byte) 0x89, (byte) 0x11, (byte) 0xAC,
-                (byte) 0xA8, (byte) 0xE5,
-        });
-
-        BigInteger g = new BigInteger(1, new byte[] {
-                (byte) 0xA1, (byte) 0x5C, (byte) 0x57, (byte) 0x15, (byte) 0xC3, (byte) 0xD9,
-                (byte) 0xD7, (byte) 0x41, (byte) 0x89, (byte) 0xD6, (byte) 0xB8, (byte) 0x7B,
-                (byte) 0xF3, (byte) 0xE0, (byte) 0xB3, (byte) 0xC5, (byte) 0xD1, (byte) 0xAA,
-                (byte) 0xF9, (byte) 0x55, (byte) 0x48, (byte) 0xF1, (byte) 0xDA, (byte) 0xE8,
-                (byte) 0x6F, (byte) 0x51, (byte) 0x05, (byte) 0xB2, (byte) 0xC9, (byte) 0x64,
-                (byte) 0xDA, (byte) 0x5F, (byte) 0xD4, (byte) 0xAA, (byte) 0xFD, (byte) 0x67,
-                (byte) 0xE0, (byte) 0x10, (byte) 0x2C, (byte) 0x1F, (byte) 0x03, (byte) 0x10,
-                (byte) 0xD4, (byte) 0x4B, (byte) 0x20, (byte) 0x82, (byte) 0x2B, (byte) 0x04,
-                (byte) 0xF9, (byte) 0x09, (byte) 0xAE, (byte) 0x28, (byte) 0x3D, (byte) 0x9B,
-                (byte) 0xFF, (byte) 0x87, (byte) 0x76, (byte) 0xCD, (byte) 0xF0, (byte) 0x11,
-                (byte) 0xB7, (byte) 0xEA, (byte) 0xE6, (byte) 0xCD, (byte) 0x60, (byte) 0xD3,
-                (byte) 0x8C, (byte) 0x74, (byte) 0xD3, (byte) 0x45, (byte) 0x63, (byte) 0x69,
-                (byte) 0x3F, (byte) 0x1D, (byte) 0x31, (byte) 0x25, (byte) 0x49, (byte) 0x97,
-                (byte) 0x4B, (byte) 0x73, (byte) 0x34, (byte) 0x12, (byte) 0x73, (byte) 0x27,
-                (byte) 0x4C, (byte) 0xDA, (byte) 0xF3, (byte) 0x08, (byte) 0xA8, (byte) 0xA9,
-                (byte) 0x27, (byte) 0xE4, (byte) 0xB8, (byte) 0xD6, (byte) 0xB5, (byte) 0xC4,
-                (byte) 0x18, (byte) 0xED, (byte) 0xBD, (byte) 0x6F, (byte) 0xA2, (byte) 0x36,
-                (byte) 0xA2, (byte) 0x9C, (byte) 0x27, (byte) 0x62, (byte) 0x7F, (byte) 0x93,
-                (byte) 0xD7, (byte) 0x52, (byte) 0xA9, (byte) 0x76, (byte) 0x55, (byte) 0x99,
-                (byte) 0x00, (byte) 0x5B, (byte) 0xC2, (byte) 0xB9, (byte) 0x18, (byte) 0xAC,
-                (byte) 0x6B, (byte) 0x83, (byte) 0x0D, (byte) 0xA1, (byte) 0xC5, (byte) 0x01,
-                (byte) 0x1A, (byte) 0xE5, (byte) 0x4D, (byte) 0x2F, (byte) 0xCF, (byte) 0x5D,
-                (byte) 0xB2, (byte) 0xE7, (byte) 0xC7, (byte) 0xCB, (byte) 0x2C, (byte) 0xFF,
-                (byte) 0x51, (byte) 0x1B, (byte) 0x9D, (byte) 0xA4, (byte) 0x05, (byte) 0xEB,
-                (byte) 0x17, (byte) 0xD8, (byte) 0x97, (byte) 0x9D, (byte) 0x0C, (byte) 0x59,
-                (byte) 0x92, (byte) 0x8A, (byte) 0x03, (byte) 0x34, (byte) 0xFD, (byte) 0x16,
-                (byte) 0x0F, (byte) 0x2A, (byte) 0xF9, (byte) 0x7D, (byte) 0xC3, (byte) 0x41,
-                (byte) 0x0D, (byte) 0x06, (byte) 0x5A, (byte) 0x4B, (byte) 0x34, (byte) 0xD5,
-                (byte) 0xF5, (byte) 0x09, (byte) 0x1C, (byte) 0xCE, (byte) 0xA7, (byte) 0x19,
-                (byte) 0x6D, (byte) 0x04, (byte) 0x53, (byte) 0x71, (byte) 0xCC, (byte) 0x84,
-                (byte) 0xA0, (byte) 0xB2, (byte) 0xA0, (byte) 0x68, (byte) 0xA3, (byte) 0x40,
-                (byte) 0xC0, (byte) 0x67, (byte) 0x38, (byte) 0x96, (byte) 0x73, (byte) 0x2E,
-                (byte) 0x8E, (byte) 0x2A, (byte) 0x9D, (byte) 0x56, (byte) 0xE9, (byte) 0xAC,
-                (byte) 0xC7, (byte) 0xEC, (byte) 0x84, (byte) 0x7F, (byte) 0xFC, (byte) 0xE0,
-                (byte) 0x69, (byte) 0x03, (byte) 0x8B, (byte) 0x48, (byte) 0x64, (byte) 0x76,
-                (byte) 0x85, (byte) 0xA5, (byte) 0x10, (byte) 0xD9, (byte) 0x31, (byte) 0xC3,
-                (byte) 0x8B, (byte) 0x07, (byte) 0x48, (byte) 0x62, (byte) 0xF6, (byte) 0x68,
-                (byte) 0xF2, (byte) 0x96, (byte) 0xB2, (byte) 0x18, (byte) 0x5B, (byte) 0xFF,
-                (byte) 0x6D, (byte) 0xD1, (byte) 0x6B, (byte) 0xF5, (byte) 0xFD, (byte) 0x81,
-                (byte) 0xF1, (byte) 0xFD, (byte) 0x04, (byte) 0xF0, (byte) 0x9F, (byte) 0xB7,
-                (byte) 0x08, (byte) 0x95, (byte) 0x57, (byte) 0x48, (byte) 0x07, (byte) 0x00,
-                (byte) 0x52, (byte) 0xEC, (byte) 0x75, (byte) 0x91, (byte) 0x02, (byte) 0x11,
-                (byte) 0xA3, (byte) 0x64, (byte) 0x26, (byte) 0xCA,
-        });
-
-        AlgorithmParameterSpec spec = new DSAParameterSpec(p, q, g);
-        mGenerator.initialize(new KeyPairGeneratorSpec.Builder(getContext())
-                .setAlias(TEST_ALIAS_1)
-                .setKeyType("DSA")
-                .setKeySize(2048)
-                .setAlgorithmParameterSpec(spec)
-                .setSubject(TEST_DN_1)
-                .setSerialNumber(TEST_SERIAL_1)
-                .setStartDate(NOW)
-                .setEndDate(NOW_PLUS_10_YEARS)
-                .build());
-
-        final KeyPair pair = mGenerator.generateKeyPair();
-        assertNotNull("The KeyPair returned should not be null", pair);
-
-        assertKeyPairCorrect(pair, TEST_ALIAS_1, "DSA", 2048, spec, TEST_DN_1, TEST_SERIAL_1, NOW,
-                NOW_PLUS_10_YEARS);
-    }
-
     public void testKeyPairGenerator_GenerateKeyPair_EC_Unencrypted_Success() throws Exception {
         mGenerator.initialize(new KeyPairGeneratorSpec.Builder(getContext())
                 .setAlias(TEST_ALIAS_1)
@@ -409,17 +245,7 @@
         assertEquals("Public keys should be in X.509 format", "X.509", pubKey.getFormat());
         assertNotNull("Public keys should be encodable", pubKey.getEncoded());
 
-        if ("DSA".equalsIgnoreCase(keyType)) {
-            DSAPublicKey dsaPubKey = (DSAPublicKey) pubKey;
-            DSAParams actualParams = dsaPubKey.getParams();
-            assertEquals(keySize, (actualParams.getP().bitLength() + 7) & ~7);
-            if (spec != null) {
-                DSAParameterSpec expectedParams = (DSAParameterSpec) spec;
-                assertEquals(expectedParams.getP(), actualParams.getP());
-                assertEquals(expectedParams.getQ(), actualParams.getQ());
-                assertEquals(expectedParams.getG(), actualParams.getG());
-            }
-        } else if ("EC".equalsIgnoreCase(keyType)) {
+        if ("EC".equalsIgnoreCase(keyType)) {
             assertEquals("Curve should be what was specified during initialization", keySize,
                     ((ECPublicKey) pubKey).getParams().getCurve().getField().getFieldSize());
         } else if ("RSA".equalsIgnoreCase(keyType)) {
diff --git a/tests/tests/keystore/src/android/keystore/cts/AndroidKeyStoreTest.java b/tests/tests/keystore/src/android/keystore/cts/AndroidKeyStoreTest.java
index 4ee9a80..577e830 100644
--- a/tests/tests/keystore/src/android/keystore/cts/AndroidKeyStoreTest.java
+++ b/tests/tests/keystore/src/android/keystore/cts/AndroidKeyStoreTest.java
@@ -36,8 +36,6 @@
 import java.security.PublicKey;
 import java.security.cert.Certificate;
 import java.security.cert.CertificateFactory;
-import java.security.interfaces.DSAPrivateKey;
-import java.security.interfaces.DSAPublicKey;
 import java.security.interfaces.ECPrivateKey;
 import java.security.interfaces.ECPublicKey;
 import java.security.interfaces.RSAPrivateKey;
@@ -700,368 +698,6 @@
             (byte) 0x7e, (byte) 0xde, (byte) 0xb2
     };
 
-    /*
-     * The keys and certificates below are generated with:
-     *
-     * openssl req -new -x509 -days 3650 -extensions v3_ca -keyout cakey.pem -out cacert.pem
-     * openssl dsaparam -out dsaparam.pem 1024
-     * openssl req -newkey dsa:dsaparam.pem -keyout userkey.pem -nodes -days 3650 -out userkey.req
-     * mkdir -p demoCA/newcerts
-     * touch demoCA/index.txt
-     * echo "01" > demoCA/serial
-     * openssl ca -out usercert.pem -in userkey.req -cert cacert.pem -keyfile cakey.pem -days 3650
-     */
-
-    /**
-     * Generated from above and converted with:
-     *
-     * openssl x509 -outform d -in cacert.pem | xxd -i | sed 's/0x/(byte) 0x/g'
-     */
-    private static final byte[] FAKE_DSA_CA_1 = new byte[] {
-            (byte) 0x30, (byte) 0x82, (byte) 0x02, (byte) 0x8a, (byte) 0x30, (byte) 0x82,
-            (byte) 0x01, (byte) 0xf3, (byte) 0xa0, (byte) 0x03, (byte) 0x02, (byte) 0x01,
-            (byte) 0x02, (byte) 0x02, (byte) 0x09, (byte) 0x00, (byte) 0x87, (byte) 0xc0,
-            (byte) 0x68, (byte) 0x7f, (byte) 0x42, (byte) 0x92, (byte) 0x0b, (byte) 0x7a,
-            (byte) 0x30, (byte) 0x0d, (byte) 0x06, (byte) 0x09, (byte) 0x2a, (byte) 0x86,
-            (byte) 0x48, (byte) 0x86, (byte) 0xf7, (byte) 0x0d, (byte) 0x01, (byte) 0x01,
-            (byte) 0x05, (byte) 0x05, (byte) 0x00, (byte) 0x30, (byte) 0x5e, (byte) 0x31,
-            (byte) 0x0b, (byte) 0x30, (byte) 0x09, (byte) 0x06, (byte) 0x03, (byte) 0x55,
-            (byte) 0x04, (byte) 0x06, (byte) 0x13, (byte) 0x02, (byte) 0x41, (byte) 0x55,
-            (byte) 0x31, (byte) 0x13, (byte) 0x30, (byte) 0x11, (byte) 0x06, (byte) 0x03,
-            (byte) 0x55, (byte) 0x04, (byte) 0x08, (byte) 0x0c, (byte) 0x0a, (byte) 0x53,
-            (byte) 0x6f, (byte) 0x6d, (byte) 0x65, (byte) 0x2d, (byte) 0x53, (byte) 0x74,
-            (byte) 0x61, (byte) 0x74, (byte) 0x65, (byte) 0x31, (byte) 0x21, (byte) 0x30,
-            (byte) 0x1f, (byte) 0x06, (byte) 0x03, (byte) 0x55, (byte) 0x04, (byte) 0x0a,
-            (byte) 0x0c, (byte) 0x18, (byte) 0x49, (byte) 0x6e, (byte) 0x74, (byte) 0x65,
-            (byte) 0x72, (byte) 0x6e, (byte) 0x65, (byte) 0x74, (byte) 0x20, (byte) 0x57,
-            (byte) 0x69, (byte) 0x64, (byte) 0x67, (byte) 0x69, (byte) 0x74, (byte) 0x73,
-            (byte) 0x20, (byte) 0x50, (byte) 0x74, (byte) 0x79, (byte) 0x20, (byte) 0x4c,
-            (byte) 0x74, (byte) 0x64, (byte) 0x31, (byte) 0x17, (byte) 0x30, (byte) 0x15,
-            (byte) 0x06, (byte) 0x03, (byte) 0x55, (byte) 0x04, (byte) 0x03, (byte) 0x0c,
-            (byte) 0x0e, (byte) 0x63, (byte) 0x61, (byte) 0x2e, (byte) 0x65, (byte) 0x78,
-            (byte) 0x61, (byte) 0x6d, (byte) 0x70, (byte) 0x6c, (byte) 0x65, (byte) 0x2e,
-            (byte) 0x63, (byte) 0x6f, (byte) 0x6d, (byte) 0x30, (byte) 0x1e, (byte) 0x17,
-            (byte) 0x0d, (byte) 0x31, (byte) 0x33, (byte) 0x30, (byte) 0x38, (byte) 0x32,
-            (byte) 0x37, (byte) 0x32, (byte) 0x33, (byte) 0x33, (byte) 0x31, (byte) 0x32,
-            (byte) 0x39, (byte) 0x5a, (byte) 0x17, (byte) 0x0d, (byte) 0x32, (byte) 0x33,
-            (byte) 0x30, (byte) 0x38, (byte) 0x32, (byte) 0x35, (byte) 0x32, (byte) 0x33,
-            (byte) 0x33, (byte) 0x31, (byte) 0x32, (byte) 0x39, (byte) 0x5a, (byte) 0x30,
-            (byte) 0x5e, (byte) 0x31, (byte) 0x0b, (byte) 0x30, (byte) 0x09, (byte) 0x06,
-            (byte) 0x03, (byte) 0x55, (byte) 0x04, (byte) 0x06, (byte) 0x13, (byte) 0x02,
-            (byte) 0x41, (byte) 0x55, (byte) 0x31, (byte) 0x13, (byte) 0x30, (byte) 0x11,
-            (byte) 0x06, (byte) 0x03, (byte) 0x55, (byte) 0x04, (byte) 0x08, (byte) 0x0c,
-            (byte) 0x0a, (byte) 0x53, (byte) 0x6f, (byte) 0x6d, (byte) 0x65, (byte) 0x2d,
-            (byte) 0x53, (byte) 0x74, (byte) 0x61, (byte) 0x74, (byte) 0x65, (byte) 0x31,
-            (byte) 0x21, (byte) 0x30, (byte) 0x1f, (byte) 0x06, (byte) 0x03, (byte) 0x55,
-            (byte) 0x04, (byte) 0x0a, (byte) 0x0c, (byte) 0x18, (byte) 0x49, (byte) 0x6e,
-            (byte) 0x74, (byte) 0x65, (byte) 0x72, (byte) 0x6e, (byte) 0x65, (byte) 0x74,
-            (byte) 0x20, (byte) 0x57, (byte) 0x69, (byte) 0x64, (byte) 0x67, (byte) 0x69,
-            (byte) 0x74, (byte) 0x73, (byte) 0x20, (byte) 0x50, (byte) 0x74, (byte) 0x79,
-            (byte) 0x20, (byte) 0x4c, (byte) 0x74, (byte) 0x64, (byte) 0x31, (byte) 0x17,
-            (byte) 0x30, (byte) 0x15, (byte) 0x06, (byte) 0x03, (byte) 0x55, (byte) 0x04,
-            (byte) 0x03, (byte) 0x0c, (byte) 0x0e, (byte) 0x63, (byte) 0x61, (byte) 0x2e,
-            (byte) 0x65, (byte) 0x78, (byte) 0x61, (byte) 0x6d, (byte) 0x70, (byte) 0x6c,
-            (byte) 0x65, (byte) 0x2e, (byte) 0x63, (byte) 0x6f, (byte) 0x6d, (byte) 0x30,
-            (byte) 0x81, (byte) 0x9f, (byte) 0x30, (byte) 0x0d, (byte) 0x06, (byte) 0x09,
-            (byte) 0x2a, (byte) 0x86, (byte) 0x48, (byte) 0x86, (byte) 0xf7, (byte) 0x0d,
-            (byte) 0x01, (byte) 0x01, (byte) 0x01, (byte) 0x05, (byte) 0x00, (byte) 0x03,
-            (byte) 0x81, (byte) 0x8d, (byte) 0x00, (byte) 0x30, (byte) 0x81, (byte) 0x89,
-            (byte) 0x02, (byte) 0x81, (byte) 0x81, (byte) 0x00, (byte) 0xa4, (byte) 0xc7,
-            (byte) 0x06, (byte) 0xba, (byte) 0xdf, (byte) 0x2b, (byte) 0xee, (byte) 0xd2,
-            (byte) 0xb9, (byte) 0xe4, (byte) 0x52, (byte) 0x21, (byte) 0x68, (byte) 0x2b,
-            (byte) 0x83, (byte) 0xdf, (byte) 0xe3, (byte) 0x9c, (byte) 0x08, (byte) 0x73,
-            (byte) 0xdd, (byte) 0x90, (byte) 0xea, (byte) 0x97, (byte) 0x0c, (byte) 0x96,
-            (byte) 0x20, (byte) 0xb1, (byte) 0xee, (byte) 0x11, (byte) 0xd5, (byte) 0xd4,
-            (byte) 0x7c, (byte) 0x44, (byte) 0x96, (byte) 0x2e, (byte) 0x6e, (byte) 0xa2,
-            (byte) 0xb2, (byte) 0xa3, (byte) 0x4b, (byte) 0x0f, (byte) 0x32, (byte) 0x90,
-            (byte) 0xaf, (byte) 0x5c, (byte) 0x6f, (byte) 0x00, (byte) 0x88, (byte) 0x45,
-            (byte) 0x4e, (byte) 0x9b, (byte) 0x26, (byte) 0xc1, (byte) 0x94, (byte) 0x3c,
-            (byte) 0xfe, (byte) 0x10, (byte) 0xbd, (byte) 0xda, (byte) 0xf2, (byte) 0x8d,
-            (byte) 0x03, (byte) 0x52, (byte) 0x32, (byte) 0x11, (byte) 0xff, (byte) 0xf6,
-            (byte) 0xf9, (byte) 0x6e, (byte) 0x8f, (byte) 0x0f, (byte) 0xc8, (byte) 0x0a,
-            (byte) 0x48, (byte) 0x39, (byte) 0x33, (byte) 0xb9, (byte) 0x0c, (byte) 0xb3,
-            (byte) 0x2b, (byte) 0xab, (byte) 0x7d, (byte) 0x79, (byte) 0x6f, (byte) 0x57,
-            (byte) 0x5b, (byte) 0xb8, (byte) 0x84, (byte) 0xb6, (byte) 0xcc, (byte) 0xe8,
-            (byte) 0x30, (byte) 0x78, (byte) 0xff, (byte) 0x92, (byte) 0xe5, (byte) 0x43,
-            (byte) 0x2e, (byte) 0xef, (byte) 0x66, (byte) 0x98, (byte) 0xb4, (byte) 0xfe,
-            (byte) 0xa2, (byte) 0x40, (byte) 0xf2, (byte) 0x1f, (byte) 0xd0, (byte) 0x86,
-            (byte) 0x16, (byte) 0xc8, (byte) 0x45, (byte) 0xc4, (byte) 0x52, (byte) 0xcb,
-            (byte) 0x31, (byte) 0x5c, (byte) 0x9f, (byte) 0x32, (byte) 0x3b, (byte) 0xf7,
-            (byte) 0x19, (byte) 0x08, (byte) 0xc7, (byte) 0x00, (byte) 0x21, (byte) 0x7d,
-            (byte) 0x02, (byte) 0x03, (byte) 0x01, (byte) 0x00, (byte) 0x01, (byte) 0xa3,
-            (byte) 0x50, (byte) 0x30, (byte) 0x4e, (byte) 0x30, (byte) 0x1d, (byte) 0x06,
-            (byte) 0x03, (byte) 0x55, (byte) 0x1d, (byte) 0x0e, (byte) 0x04, (byte) 0x16,
-            (byte) 0x04, (byte) 0x14, (byte) 0x47, (byte) 0x82, (byte) 0xa3, (byte) 0xf1,
-            (byte) 0xc2, (byte) 0x7e, (byte) 0x3a, (byte) 0xde, (byte) 0x4f, (byte) 0x30,
-            (byte) 0x4c, (byte) 0x7f, (byte) 0x72, (byte) 0x81, (byte) 0x15, (byte) 0x32,
-            (byte) 0xda, (byte) 0x7f, (byte) 0x58, (byte) 0x18, (byte) 0x30, (byte) 0x1f,
-            (byte) 0x06, (byte) 0x03, (byte) 0x55, (byte) 0x1d, (byte) 0x23, (byte) 0x04,
-            (byte) 0x18, (byte) 0x30, (byte) 0x16, (byte) 0x80, (byte) 0x14, (byte) 0x47,
-            (byte) 0x82, (byte) 0xa3, (byte) 0xf1, (byte) 0xc2, (byte) 0x7e, (byte) 0x3a,
-            (byte) 0xde, (byte) 0x4f, (byte) 0x30, (byte) 0x4c, (byte) 0x7f, (byte) 0x72,
-            (byte) 0x81, (byte) 0x15, (byte) 0x32, (byte) 0xda, (byte) 0x7f, (byte) 0x58,
-            (byte) 0x18, (byte) 0x30, (byte) 0x0c, (byte) 0x06, (byte) 0x03, (byte) 0x55,
-            (byte) 0x1d, (byte) 0x13, (byte) 0x04, (byte) 0x05, (byte) 0x30, (byte) 0x03,
-            (byte) 0x01, (byte) 0x01, (byte) 0xff, (byte) 0x30, (byte) 0x0d, (byte) 0x06,
-            (byte) 0x09, (byte) 0x2a, (byte) 0x86, (byte) 0x48, (byte) 0x86, (byte) 0xf7,
-            (byte) 0x0d, (byte) 0x01, (byte) 0x01, (byte) 0x05, (byte) 0x05, (byte) 0x00,
-            (byte) 0x03, (byte) 0x81, (byte) 0x81, (byte) 0x00, (byte) 0x08, (byte) 0x7f,
-            (byte) 0x6a, (byte) 0x48, (byte) 0x90, (byte) 0x7b, (byte) 0x9b, (byte) 0x72,
-            (byte) 0x13, (byte) 0xa7, (byte) 0xef, (byte) 0x6b, (byte) 0x0b, (byte) 0x59,
-            (byte) 0xe5, (byte) 0x49, (byte) 0x72, (byte) 0x3a, (byte) 0xc8, (byte) 0x84,
-            (byte) 0xcc, (byte) 0x23, (byte) 0x18, (byte) 0x4c, (byte) 0xec, (byte) 0xc7,
-            (byte) 0xef, (byte) 0xcb, (byte) 0xa7, (byte) 0xbe, (byte) 0xe4, (byte) 0xef,
-            (byte) 0x8f, (byte) 0xc6, (byte) 0x06, (byte) 0x8c, (byte) 0xc0, (byte) 0xe4,
-            (byte) 0x2f, (byte) 0x2a, (byte) 0xc0, (byte) 0x35, (byte) 0x7d, (byte) 0x5e,
-            (byte) 0x19, (byte) 0x29, (byte) 0x8c, (byte) 0xb9, (byte) 0xf1, (byte) 0x1e,
-            (byte) 0xaf, (byte) 0x82, (byte) 0xd8, (byte) 0xe3, (byte) 0x88, (byte) 0xe1,
-            (byte) 0x31, (byte) 0xc8, (byte) 0x82, (byte) 0x1f, (byte) 0x83, (byte) 0xa9,
-            (byte) 0xde, (byte) 0xfe, (byte) 0x4b, (byte) 0xe2, (byte) 0x78, (byte) 0x64,
-            (byte) 0xed, (byte) 0xa4, (byte) 0x7b, (byte) 0xee, (byte) 0x8d, (byte) 0x71,
-            (byte) 0x1b, (byte) 0x44, (byte) 0xe6, (byte) 0xb7, (byte) 0xe8, (byte) 0xc5,
-            (byte) 0x9a, (byte) 0x93, (byte) 0x92, (byte) 0x6f, (byte) 0x6f, (byte) 0xdb,
-            (byte) 0xbd, (byte) 0xd7, (byte) 0x03, (byte) 0x85, (byte) 0xa9, (byte) 0x5f,
-            (byte) 0x53, (byte) 0x5f, (byte) 0x5d, (byte) 0x30, (byte) 0xc6, (byte) 0xd9,
-            (byte) 0xce, (byte) 0x34, (byte) 0xa8, (byte) 0xbe, (byte) 0x31, (byte) 0x47,
-            (byte) 0x1c, (byte) 0xa4, (byte) 0x7f, (byte) 0xc0, (byte) 0x2c, (byte) 0xbc,
-            (byte) 0xfe, (byte) 0x1a, (byte) 0x31, (byte) 0xd8, (byte) 0x77, (byte) 0x4d,
-            (byte) 0xfc, (byte) 0x45, (byte) 0x84, (byte) 0xfc, (byte) 0x45, (byte) 0x12,
-            (byte) 0xab, (byte) 0x50, (byte) 0xe4, (byte) 0x45, (byte) 0xe5, (byte) 0x11
-    };
-
-    /**
-     * Generated from above and converted with: openssl pkcs8 -topk8 -outform d
-     * -in userkey.pem -nocrypt | xxd -i | sed 's/0x/(byte) 0x/g'
-     */
-    private static final byte[] FAKE_DSA_KEY_1 = new byte[] {
-            (byte) 0x30, (byte) 0x82, (byte) 0x01, (byte) 0x4c, (byte) 0x02, (byte) 0x01,
-            (byte) 0x00, (byte) 0x30, (byte) 0x82, (byte) 0x01, (byte) 0x2c, (byte) 0x06,
-            (byte) 0x07, (byte) 0x2a, (byte) 0x86, (byte) 0x48, (byte) 0xce, (byte) 0x38,
-            (byte) 0x04, (byte) 0x01, (byte) 0x30, (byte) 0x82, (byte) 0x01, (byte) 0x1f,
-            (byte) 0x02, (byte) 0x81, (byte) 0x81, (byte) 0x00, (byte) 0xb3, (byte) 0x23,
-            (byte) 0xf7, (byte) 0x86, (byte) 0xbd, (byte) 0x3b, (byte) 0x86, (byte) 0xcc,
-            (byte) 0xc3, (byte) 0x91, (byte) 0xc0, (byte) 0x30, (byte) 0x32, (byte) 0x02,
-            (byte) 0x47, (byte) 0x35, (byte) 0x01, (byte) 0xef, (byte) 0xee, (byte) 0x98,
-            (byte) 0x13, (byte) 0x56, (byte) 0x49, (byte) 0x47, (byte) 0xb5, (byte) 0x20,
-            (byte) 0xa8, (byte) 0x60, (byte) 0xcb, (byte) 0xc0, (byte) 0xd5, (byte) 0x77,
-            (byte) 0xc1, (byte) 0x69, (byte) 0xcd, (byte) 0x18, (byte) 0x34, (byte) 0x92,
-            (byte) 0xf2, (byte) 0x6a, (byte) 0x2a, (byte) 0x10, (byte) 0x59, (byte) 0x1c,
-            (byte) 0x91, (byte) 0x20, (byte) 0x51, (byte) 0xca, (byte) 0x37, (byte) 0xb2,
-            (byte) 0x87, (byte) 0xa6, (byte) 0x8a, (byte) 0x02, (byte) 0xfd, (byte) 0x45,
-            (byte) 0x46, (byte) 0xf9, (byte) 0x76, (byte) 0xb1, (byte) 0x35, (byte) 0x38,
-            (byte) 0x8d, (byte) 0xff, (byte) 0x4c, (byte) 0x5d, (byte) 0x75, (byte) 0x8f,
-            (byte) 0x66, (byte) 0x15, (byte) 0x7d, (byte) 0x7b, (byte) 0xda, (byte) 0xdb,
-            (byte) 0x57, (byte) 0x39, (byte) 0xff, (byte) 0x91, (byte) 0x3f, (byte) 0xdd,
-            (byte) 0xe2, (byte) 0xb4, (byte) 0x22, (byte) 0x60, (byte) 0x4c, (byte) 0x32,
-            (byte) 0x3b, (byte) 0x9d, (byte) 0x34, (byte) 0x9f, (byte) 0xb9, (byte) 0x5d,
-            (byte) 0x75, (byte) 0xb9, (byte) 0xd3, (byte) 0x7f, (byte) 0x11, (byte) 0xba,
-            (byte) 0xb7, (byte) 0xc8, (byte) 0x32, (byte) 0xc6, (byte) 0xce, (byte) 0x71,
-            (byte) 0x91, (byte) 0xd3, (byte) 0x32, (byte) 0xaf, (byte) 0x4d, (byte) 0x7e,
-            (byte) 0x7c, (byte) 0x15, (byte) 0xf7, (byte) 0x71, (byte) 0x2c, (byte) 0x52,
-            (byte) 0x65, (byte) 0x4d, (byte) 0xa9, (byte) 0x81, (byte) 0x25, (byte) 0x35,
-            (byte) 0xce, (byte) 0x0b, (byte) 0x5b, (byte) 0x56, (byte) 0xfe, (byte) 0xf1,
-            (byte) 0x02, (byte) 0x15, (byte) 0x00, (byte) 0xeb, (byte) 0x4e, (byte) 0x7f,
-            (byte) 0x7a, (byte) 0x31, (byte) 0xb3, (byte) 0x7d, (byte) 0x8d, (byte) 0xb2,
-            (byte) 0xf7, (byte) 0xaf, (byte) 0xad, (byte) 0xb1, (byte) 0x42, (byte) 0x92,
-            (byte) 0xf3, (byte) 0x6c, (byte) 0xe4, (byte) 0xed, (byte) 0x8b, (byte) 0x02,
-            (byte) 0x81, (byte) 0x81, (byte) 0x00, (byte) 0x81, (byte) 0xc8, (byte) 0x36,
-            (byte) 0x48, (byte) 0xdb, (byte) 0x71, (byte) 0x2b, (byte) 0x91, (byte) 0xce,
-            (byte) 0x6d, (byte) 0xbc, (byte) 0xb8, (byte) 0xf9, (byte) 0xcb, (byte) 0x50,
-            (byte) 0x91, (byte) 0x10, (byte) 0x8a, (byte) 0xf8, (byte) 0x37, (byte) 0x50,
-            (byte) 0xda, (byte) 0x4f, (byte) 0xc8, (byte) 0x4d, (byte) 0x73, (byte) 0xcb,
-            (byte) 0x4d, (byte) 0xb0, (byte) 0x19, (byte) 0x54, (byte) 0x5a, (byte) 0xf3,
-            (byte) 0x6c, (byte) 0xc9, (byte) 0xd8, (byte) 0x96, (byte) 0xd9, (byte) 0xb0,
-            (byte) 0x54, (byte) 0x7e, (byte) 0x7d, (byte) 0xe2, (byte) 0x58, (byte) 0x0e,
-            (byte) 0x5f, (byte) 0xc0, (byte) 0xce, (byte) 0xb9, (byte) 0x5c, (byte) 0xe3,
-            (byte) 0xd3, (byte) 0xdf, (byte) 0xcf, (byte) 0x45, (byte) 0x74, (byte) 0xfb,
-            (byte) 0xe6, (byte) 0x20, (byte) 0xe7, (byte) 0xfc, (byte) 0x0f, (byte) 0xca,
-            (byte) 0xdb, (byte) 0xc0, (byte) 0x0b, (byte) 0xe1, (byte) 0x5a, (byte) 0x16,
-            (byte) 0x1d, (byte) 0xb3, (byte) 0x2e, (byte) 0xe5, (byte) 0x5f, (byte) 0x89,
-            (byte) 0x17, (byte) 0x73, (byte) 0x50, (byte) 0xd1, (byte) 0x4a, (byte) 0x60,
-            (byte) 0xb7, (byte) 0xaa, (byte) 0xf0, (byte) 0xc7, (byte) 0xc5, (byte) 0x03,
-            (byte) 0x4e, (byte) 0x36, (byte) 0x51, (byte) 0x9e, (byte) 0x2f, (byte) 0xfa,
-            (byte) 0xf3, (byte) 0xd6, (byte) 0x58, (byte) 0x14, (byte) 0x02, (byte) 0xb4,
-            (byte) 0x41, (byte) 0xd6, (byte) 0x72, (byte) 0x6f, (byte) 0x58, (byte) 0x5b,
-            (byte) 0x2d, (byte) 0x23, (byte) 0xc0, (byte) 0x75, (byte) 0x4f, (byte) 0x39,
-            (byte) 0xa8, (byte) 0x6a, (byte) 0xdf, (byte) 0x79, (byte) 0x21, (byte) 0xf2,
-            (byte) 0x77, (byte) 0x91, (byte) 0x3f, (byte) 0x1c, (byte) 0x4d, (byte) 0x48,
-            (byte) 0x78, (byte) 0xcd, (byte) 0xed, (byte) 0x79, (byte) 0x23, (byte) 0x04,
-            (byte) 0x17, (byte) 0x02, (byte) 0x15, (byte) 0x00, (byte) 0xc7, (byte) 0xe7,
-            (byte) 0xe2, (byte) 0x6b, (byte) 0x14, (byte) 0xe6, (byte) 0x31, (byte) 0x12,
-            (byte) 0xb2, (byte) 0x1e, (byte) 0xd4, (byte) 0xf2, (byte) 0x9b, (byte) 0x2c,
-            (byte) 0xf6, (byte) 0x54, (byte) 0x4c, (byte) 0x12, (byte) 0xe8, (byte) 0x22
-    };
-
-    /**
-     * Generated from above and converted with: openssl x509 -outform d -in
-     * usercert.pem | xxd -i | sed 's/0x/(byte) 0x/g'
-     */
-    private static final byte[] FAKE_DSA_USER_1 = new byte[] {
-            (byte) 0x30, (byte) 0x82, (byte) 0x03, (byte) 0xca, (byte) 0x30, (byte) 0x82,
-            (byte) 0x03, (byte) 0x33, (byte) 0xa0, (byte) 0x03, (byte) 0x02, (byte) 0x01,
-            (byte) 0x02, (byte) 0x02, (byte) 0x01, (byte) 0x01, (byte) 0x30, (byte) 0x0d,
-            (byte) 0x06, (byte) 0x09, (byte) 0x2a, (byte) 0x86, (byte) 0x48, (byte) 0x86,
-            (byte) 0xf7, (byte) 0x0d, (byte) 0x01, (byte) 0x01, (byte) 0x05, (byte) 0x05,
-            (byte) 0x00, (byte) 0x30, (byte) 0x5e, (byte) 0x31, (byte) 0x0b, (byte) 0x30,
-            (byte) 0x09, (byte) 0x06, (byte) 0x03, (byte) 0x55, (byte) 0x04, (byte) 0x06,
-            (byte) 0x13, (byte) 0x02, (byte) 0x41, (byte) 0x55, (byte) 0x31, (byte) 0x13,
-            (byte) 0x30, (byte) 0x11, (byte) 0x06, (byte) 0x03, (byte) 0x55, (byte) 0x04,
-            (byte) 0x08, (byte) 0x0c, (byte) 0x0a, (byte) 0x53, (byte) 0x6f, (byte) 0x6d,
-            (byte) 0x65, (byte) 0x2d, (byte) 0x53, (byte) 0x74, (byte) 0x61, (byte) 0x74,
-            (byte) 0x65, (byte) 0x31, (byte) 0x21, (byte) 0x30, (byte) 0x1f, (byte) 0x06,
-            (byte) 0x03, (byte) 0x55, (byte) 0x04, (byte) 0x0a, (byte) 0x0c, (byte) 0x18,
-            (byte) 0x49, (byte) 0x6e, (byte) 0x74, (byte) 0x65, (byte) 0x72, (byte) 0x6e,
-            (byte) 0x65, (byte) 0x74, (byte) 0x20, (byte) 0x57, (byte) 0x69, (byte) 0x64,
-            (byte) 0x67, (byte) 0x69, (byte) 0x74, (byte) 0x73, (byte) 0x20, (byte) 0x50,
-            (byte) 0x74, (byte) 0x79, (byte) 0x20, (byte) 0x4c, (byte) 0x74, (byte) 0x64,
-            (byte) 0x31, (byte) 0x17, (byte) 0x30, (byte) 0x15, (byte) 0x06, (byte) 0x03,
-            (byte) 0x55, (byte) 0x04, (byte) 0x03, (byte) 0x0c, (byte) 0x0e, (byte) 0x63,
-            (byte) 0x61, (byte) 0x2e, (byte) 0x65, (byte) 0x78, (byte) 0x61, (byte) 0x6d,
-            (byte) 0x70, (byte) 0x6c, (byte) 0x65, (byte) 0x2e, (byte) 0x63, (byte) 0x6f,
-            (byte) 0x6d, (byte) 0x30, (byte) 0x1e, (byte) 0x17, (byte) 0x0d, (byte) 0x31,
-            (byte) 0x33, (byte) 0x30, (byte) 0x38, (byte) 0x32, (byte) 0x37, (byte) 0x32,
-            (byte) 0x33, (byte) 0x33, (byte) 0x34, (byte) 0x32, (byte) 0x32, (byte) 0x5a,
-            (byte) 0x17, (byte) 0x0d, (byte) 0x32, (byte) 0x33, (byte) 0x30, (byte) 0x38,
-            (byte) 0x32, (byte) 0x35, (byte) 0x32, (byte) 0x33, (byte) 0x33, (byte) 0x34,
-            (byte) 0x32, (byte) 0x32, (byte) 0x5a, (byte) 0x30, (byte) 0x62, (byte) 0x31,
-            (byte) 0x0b, (byte) 0x30, (byte) 0x09, (byte) 0x06, (byte) 0x03, (byte) 0x55,
-            (byte) 0x04, (byte) 0x06, (byte) 0x13, (byte) 0x02, (byte) 0x41, (byte) 0x55,
-            (byte) 0x31, (byte) 0x13, (byte) 0x30, (byte) 0x11, (byte) 0x06, (byte) 0x03,
-            (byte) 0x55, (byte) 0x04, (byte) 0x08, (byte) 0x0c, (byte) 0x0a, (byte) 0x53,
-            (byte) 0x6f, (byte) 0x6d, (byte) 0x65, (byte) 0x2d, (byte) 0x53, (byte) 0x74,
-            (byte) 0x61, (byte) 0x74, (byte) 0x65, (byte) 0x31, (byte) 0x21, (byte) 0x30,
-            (byte) 0x1f, (byte) 0x06, (byte) 0x03, (byte) 0x55, (byte) 0x04, (byte) 0x0a,
-            (byte) 0x0c, (byte) 0x18, (byte) 0x49, (byte) 0x6e, (byte) 0x74, (byte) 0x65,
-            (byte) 0x72, (byte) 0x6e, (byte) 0x65, (byte) 0x74, (byte) 0x20, (byte) 0x57,
-            (byte) 0x69, (byte) 0x64, (byte) 0x67, (byte) 0x69, (byte) 0x74, (byte) 0x73,
-            (byte) 0x20, (byte) 0x50, (byte) 0x74, (byte) 0x79, (byte) 0x20, (byte) 0x4c,
-            (byte) 0x74, (byte) 0x64, (byte) 0x31, (byte) 0x1b, (byte) 0x30, (byte) 0x19,
-            (byte) 0x06, (byte) 0x03, (byte) 0x55, (byte) 0x04, (byte) 0x03, (byte) 0x0c,
-            (byte) 0x12, (byte) 0x73, (byte) 0x65, (byte) 0x72, (byte) 0x76, (byte) 0x65,
-            (byte) 0x72, (byte) 0x2e, (byte) 0x65, (byte) 0x78, (byte) 0x61, (byte) 0x6d,
-            (byte) 0x70, (byte) 0x6c, (byte) 0x65, (byte) 0x2e, (byte) 0x63, (byte) 0x6f,
-            (byte) 0x6d, (byte) 0x30, (byte) 0x82, (byte) 0x01, (byte) 0xb7, (byte) 0x30,
-            (byte) 0x82, (byte) 0x01, (byte) 0x2c, (byte) 0x06, (byte) 0x07, (byte) 0x2a,
-            (byte) 0x86, (byte) 0x48, (byte) 0xce, (byte) 0x38, (byte) 0x04, (byte) 0x01,
-            (byte) 0x30, (byte) 0x82, (byte) 0x01, (byte) 0x1f, (byte) 0x02, (byte) 0x81,
-            (byte) 0x81, (byte) 0x00, (byte) 0xb3, (byte) 0x23, (byte) 0xf7, (byte) 0x86,
-            (byte) 0xbd, (byte) 0x3b, (byte) 0x86, (byte) 0xcc, (byte) 0xc3, (byte) 0x91,
-            (byte) 0xc0, (byte) 0x30, (byte) 0x32, (byte) 0x02, (byte) 0x47, (byte) 0x35,
-            (byte) 0x01, (byte) 0xef, (byte) 0xee, (byte) 0x98, (byte) 0x13, (byte) 0x56,
-            (byte) 0x49, (byte) 0x47, (byte) 0xb5, (byte) 0x20, (byte) 0xa8, (byte) 0x60,
-            (byte) 0xcb, (byte) 0xc0, (byte) 0xd5, (byte) 0x77, (byte) 0xc1, (byte) 0x69,
-            (byte) 0xcd, (byte) 0x18, (byte) 0x34, (byte) 0x92, (byte) 0xf2, (byte) 0x6a,
-            (byte) 0x2a, (byte) 0x10, (byte) 0x59, (byte) 0x1c, (byte) 0x91, (byte) 0x20,
-            (byte) 0x51, (byte) 0xca, (byte) 0x37, (byte) 0xb2, (byte) 0x87, (byte) 0xa6,
-            (byte) 0x8a, (byte) 0x02, (byte) 0xfd, (byte) 0x45, (byte) 0x46, (byte) 0xf9,
-            (byte) 0x76, (byte) 0xb1, (byte) 0x35, (byte) 0x38, (byte) 0x8d, (byte) 0xff,
-            (byte) 0x4c, (byte) 0x5d, (byte) 0x75, (byte) 0x8f, (byte) 0x66, (byte) 0x15,
-            (byte) 0x7d, (byte) 0x7b, (byte) 0xda, (byte) 0xdb, (byte) 0x57, (byte) 0x39,
-            (byte) 0xff, (byte) 0x91, (byte) 0x3f, (byte) 0xdd, (byte) 0xe2, (byte) 0xb4,
-            (byte) 0x22, (byte) 0x60, (byte) 0x4c, (byte) 0x32, (byte) 0x3b, (byte) 0x9d,
-            (byte) 0x34, (byte) 0x9f, (byte) 0xb9, (byte) 0x5d, (byte) 0x75, (byte) 0xb9,
-            (byte) 0xd3, (byte) 0x7f, (byte) 0x11, (byte) 0xba, (byte) 0xb7, (byte) 0xc8,
-            (byte) 0x32, (byte) 0xc6, (byte) 0xce, (byte) 0x71, (byte) 0x91, (byte) 0xd3,
-            (byte) 0x32, (byte) 0xaf, (byte) 0x4d, (byte) 0x7e, (byte) 0x7c, (byte) 0x15,
-            (byte) 0xf7, (byte) 0x71, (byte) 0x2c, (byte) 0x52, (byte) 0x65, (byte) 0x4d,
-            (byte) 0xa9, (byte) 0x81, (byte) 0x25, (byte) 0x35, (byte) 0xce, (byte) 0x0b,
-            (byte) 0x5b, (byte) 0x56, (byte) 0xfe, (byte) 0xf1, (byte) 0x02, (byte) 0x15,
-            (byte) 0x00, (byte) 0xeb, (byte) 0x4e, (byte) 0x7f, (byte) 0x7a, (byte) 0x31,
-            (byte) 0xb3, (byte) 0x7d, (byte) 0x8d, (byte) 0xb2, (byte) 0xf7, (byte) 0xaf,
-            (byte) 0xad, (byte) 0xb1, (byte) 0x42, (byte) 0x92, (byte) 0xf3, (byte) 0x6c,
-            (byte) 0xe4, (byte) 0xed, (byte) 0x8b, (byte) 0x02, (byte) 0x81, (byte) 0x81,
-            (byte) 0x00, (byte) 0x81, (byte) 0xc8, (byte) 0x36, (byte) 0x48, (byte) 0xdb,
-            (byte) 0x71, (byte) 0x2b, (byte) 0x91, (byte) 0xce, (byte) 0x6d, (byte) 0xbc,
-            (byte) 0xb8, (byte) 0xf9, (byte) 0xcb, (byte) 0x50, (byte) 0x91, (byte) 0x10,
-            (byte) 0x8a, (byte) 0xf8, (byte) 0x37, (byte) 0x50, (byte) 0xda, (byte) 0x4f,
-            (byte) 0xc8, (byte) 0x4d, (byte) 0x73, (byte) 0xcb, (byte) 0x4d, (byte) 0xb0,
-            (byte) 0x19, (byte) 0x54, (byte) 0x5a, (byte) 0xf3, (byte) 0x6c, (byte) 0xc9,
-            (byte) 0xd8, (byte) 0x96, (byte) 0xd9, (byte) 0xb0, (byte) 0x54, (byte) 0x7e,
-            (byte) 0x7d, (byte) 0xe2, (byte) 0x58, (byte) 0x0e, (byte) 0x5f, (byte) 0xc0,
-            (byte) 0xce, (byte) 0xb9, (byte) 0x5c, (byte) 0xe3, (byte) 0xd3, (byte) 0xdf,
-            (byte) 0xcf, (byte) 0x45, (byte) 0x74, (byte) 0xfb, (byte) 0xe6, (byte) 0x20,
-            (byte) 0xe7, (byte) 0xfc, (byte) 0x0f, (byte) 0xca, (byte) 0xdb, (byte) 0xc0,
-            (byte) 0x0b, (byte) 0xe1, (byte) 0x5a, (byte) 0x16, (byte) 0x1d, (byte) 0xb3,
-            (byte) 0x2e, (byte) 0xe5, (byte) 0x5f, (byte) 0x89, (byte) 0x17, (byte) 0x73,
-            (byte) 0x50, (byte) 0xd1, (byte) 0x4a, (byte) 0x60, (byte) 0xb7, (byte) 0xaa,
-            (byte) 0xf0, (byte) 0xc7, (byte) 0xc5, (byte) 0x03, (byte) 0x4e, (byte) 0x36,
-            (byte) 0x51, (byte) 0x9e, (byte) 0x2f, (byte) 0xfa, (byte) 0xf3, (byte) 0xd6,
-            (byte) 0x58, (byte) 0x14, (byte) 0x02, (byte) 0xb4, (byte) 0x41, (byte) 0xd6,
-            (byte) 0x72, (byte) 0x6f, (byte) 0x58, (byte) 0x5b, (byte) 0x2d, (byte) 0x23,
-            (byte) 0xc0, (byte) 0x75, (byte) 0x4f, (byte) 0x39, (byte) 0xa8, (byte) 0x6a,
-            (byte) 0xdf, (byte) 0x79, (byte) 0x21, (byte) 0xf2, (byte) 0x77, (byte) 0x91,
-            (byte) 0x3f, (byte) 0x1c, (byte) 0x4d, (byte) 0x48, (byte) 0x78, (byte) 0xcd,
-            (byte) 0xed, (byte) 0x79, (byte) 0x23, (byte) 0x03, (byte) 0x81, (byte) 0x84,
-            (byte) 0x00, (byte) 0x02, (byte) 0x81, (byte) 0x80, (byte) 0x1a, (byte) 0x50,
-            (byte) 0x9d, (byte) 0x3e, (byte) 0xa1, (byte) 0x6c, (byte) 0x99, (byte) 0x35,
-            (byte) 0x36, (byte) 0x26, (byte) 0x22, (byte) 0x6b, (byte) 0x47, (byte) 0x45,
-            (byte) 0x80, (byte) 0x5b, (byte) 0xd5, (byte) 0xc1, (byte) 0xc5, (byte) 0x70,
-            (byte) 0x75, (byte) 0x55, (byte) 0x66, (byte) 0x33, (byte) 0x1d, (byte) 0xae,
-            (byte) 0xd0, (byte) 0x01, (byte) 0x64, (byte) 0x8b, (byte) 0xae, (byte) 0x9d,
-            (byte) 0x66, (byte) 0x58, (byte) 0xf9, (byte) 0x42, (byte) 0x74, (byte) 0x3a,
-            (byte) 0x32, (byte) 0xc7, (byte) 0x7f, (byte) 0x25, (byte) 0x64, (byte) 0x7d,
-            (byte) 0x08, (byte) 0x26, (byte) 0xbf, (byte) 0x21, (byte) 0x3a, (byte) 0x84,
-            (byte) 0xcc, (byte) 0x2c, (byte) 0x66, (byte) 0x7d, (byte) 0xc7, (byte) 0xd6,
-            (byte) 0xb1, (byte) 0x69, (byte) 0x57, (byte) 0x67, (byte) 0x52, (byte) 0x73,
-            (byte) 0x3f, (byte) 0x79, (byte) 0x60, (byte) 0xaa, (byte) 0xf4, (byte) 0x8a,
-            (byte) 0x48, (byte) 0x42, (byte) 0x46, (byte) 0x41, (byte) 0xd0, (byte) 0x50,
-            (byte) 0x9b, (byte) 0xa2, (byte) 0x4e, (byte) 0xa5, (byte) 0x88, (byte) 0x10,
-            (byte) 0xf7, (byte) 0x61, (byte) 0xa2, (byte) 0xfa, (byte) 0x8d, (byte) 0xa6,
-            (byte) 0x13, (byte) 0x9e, (byte) 0x36, (byte) 0x86, (byte) 0x62, (byte) 0xf0,
-            (byte) 0x97, (byte) 0xef, (byte) 0x11, (byte) 0xc6, (byte) 0x35, (byte) 0xd3,
-            (byte) 0x79, (byte) 0x30, (byte) 0xde, (byte) 0xf2, (byte) 0x7f, (byte) 0x7a,
-            (byte) 0x3c, (byte) 0x03, (byte) 0xa3, (byte) 0xc5, (byte) 0xbc, (byte) 0xb1,
-            (byte) 0xbc, (byte) 0x2f, (byte) 0x10, (byte) 0xf4, (byte) 0x51, (byte) 0x89,
-            (byte) 0xe2, (byte) 0xaf, (byte) 0xf7, (byte) 0x61, (byte) 0x1a, (byte) 0xf0,
-            (byte) 0x87, (byte) 0x5e, (byte) 0xa5, (byte) 0x02, (byte) 0xd2, (byte) 0xe4,
-            (byte) 0xa3, (byte) 0x7b, (byte) 0x30, (byte) 0x79, (byte) 0x30, (byte) 0x09,
-            (byte) 0x06, (byte) 0x03, (byte) 0x55, (byte) 0x1d, (byte) 0x13, (byte) 0x04,
-            (byte) 0x02, (byte) 0x30, (byte) 0x00, (byte) 0x30, (byte) 0x2c, (byte) 0x06,
-            (byte) 0x09, (byte) 0x60, (byte) 0x86, (byte) 0x48, (byte) 0x01, (byte) 0x86,
-            (byte) 0xf8, (byte) 0x42, (byte) 0x01, (byte) 0x0d, (byte) 0x04, (byte) 0x1f,
-            (byte) 0x16, (byte) 0x1d, (byte) 0x4f, (byte) 0x70, (byte) 0x65, (byte) 0x6e,
-            (byte) 0x53, (byte) 0x53, (byte) 0x4c, (byte) 0x20, (byte) 0x47, (byte) 0x65,
-            (byte) 0x6e, (byte) 0x65, (byte) 0x72, (byte) 0x61, (byte) 0x74, (byte) 0x65,
-            (byte) 0x64, (byte) 0x20, (byte) 0x43, (byte) 0x65, (byte) 0x72, (byte) 0x74,
-            (byte) 0x69, (byte) 0x66, (byte) 0x69, (byte) 0x63, (byte) 0x61, (byte) 0x74,
-            (byte) 0x65, (byte) 0x30, (byte) 0x1d, (byte) 0x06, (byte) 0x03, (byte) 0x55,
-            (byte) 0x1d, (byte) 0x0e, (byte) 0x04, (byte) 0x16, (byte) 0x04, (byte) 0x14,
-            (byte) 0xd1, (byte) 0x6c, (byte) 0x36, (byte) 0x36, (byte) 0x61, (byte) 0x6c,
-            (byte) 0xf6, (byte) 0x90, (byte) 0x82, (byte) 0x82, (byte) 0x87, (byte) 0x93,
-            (byte) 0xbe, (byte) 0x99, (byte) 0x60, (byte) 0x1b, (byte) 0x03, (byte) 0x58,
-            (byte) 0x36, (byte) 0x63, (byte) 0x30, (byte) 0x1f, (byte) 0x06, (byte) 0x03,
-            (byte) 0x55, (byte) 0x1d, (byte) 0x23, (byte) 0x04, (byte) 0x18, (byte) 0x30,
-            (byte) 0x16, (byte) 0x80, (byte) 0x14, (byte) 0x47, (byte) 0x82, (byte) 0xa3,
-            (byte) 0xf1, (byte) 0xc2, (byte) 0x7e, (byte) 0x3a, (byte) 0xde, (byte) 0x4f,
-            (byte) 0x30, (byte) 0x4c, (byte) 0x7f, (byte) 0x72, (byte) 0x81, (byte) 0x15,
-            (byte) 0x32, (byte) 0xda, (byte) 0x7f, (byte) 0x58, (byte) 0x18, (byte) 0x30,
-            (byte) 0x0d, (byte) 0x06, (byte) 0x09, (byte) 0x2a, (byte) 0x86, (byte) 0x48,
-            (byte) 0x86, (byte) 0xf7, (byte) 0x0d, (byte) 0x01, (byte) 0x01, (byte) 0x05,
-            (byte) 0x05, (byte) 0x00, (byte) 0x03, (byte) 0x81, (byte) 0x81, (byte) 0x00,
-            (byte) 0x81, (byte) 0xde, (byte) 0x20, (byte) 0xa1, (byte) 0xb2, (byte) 0x50,
-            (byte) 0x03, (byte) 0xcd, (byte) 0x90, (byte) 0x4f, (byte) 0x2b, (byte) 0x47,
-            (byte) 0x1d, (byte) 0xac, (byte) 0x6e, (byte) 0xb4, (byte) 0xc7, (byte) 0x14,
-            (byte) 0xc6, (byte) 0x4f, (byte) 0x45, (byte) 0xaf, (byte) 0x81, (byte) 0x5d,
-            (byte) 0x5a, (byte) 0x31, (byte) 0xff, (byte) 0x9c, (byte) 0x4d, (byte) 0xdc,
-            (byte) 0x9e, (byte) 0x36, (byte) 0x9f, (byte) 0x9b, (byte) 0xb1, (byte) 0xc9,
-            (byte) 0x50, (byte) 0xa3, (byte) 0xf6, (byte) 0x9c, (byte) 0x68, (byte) 0x6f,
-            (byte) 0x68, (byte) 0xd9, (byte) 0x56, (byte) 0x1b, (byte) 0xe5, (byte) 0x1b,
-            (byte) 0x41, (byte) 0xd4, (byte) 0xcc, (byte) 0xb6, (byte) 0x37, (byte) 0xd5,
-            (byte) 0x69, (byte) 0x6b, (byte) 0x39, (byte) 0xaf, (byte) 0xc6, (byte) 0xb8,
-            (byte) 0x39, (byte) 0x76, (byte) 0xe3, (byte) 0xf7, (byte) 0x97, (byte) 0x74,
-            (byte) 0x31, (byte) 0xc4, (byte) 0x2d, (byte) 0xb7, (byte) 0x9a, (byte) 0xa4,
-            (byte) 0xfa, (byte) 0x9f, (byte) 0xa8, (byte) 0xe3, (byte) 0x41, (byte) 0xda,
-            (byte) 0x2f, (byte) 0x0c, (byte) 0x9d, (byte) 0x83, (byte) 0xdc, (byte) 0x86,
-            (byte) 0x1f, (byte) 0x5c, (byte) 0x0f, (byte) 0x87, (byte) 0x05, (byte) 0xc9,
-            (byte) 0xb0, (byte) 0x63, (byte) 0xca, (byte) 0x9b, (byte) 0xdb, (byte) 0xe6,
-            (byte) 0x3c, (byte) 0xe9, (byte) 0x23, (byte) 0x9e, (byte) 0x23, (byte) 0x44,
-            (byte) 0x1d, (byte) 0x5b, (byte) 0x60, (byte) 0x66, (byte) 0xb6, (byte) 0x72,
-            (byte) 0x8c, (byte) 0x87, (byte) 0x86, (byte) 0xe8, (byte) 0xdb, (byte) 0x29,
-            (byte) 0x67, (byte) 0x9c, (byte) 0x33, (byte) 0x5c, (byte) 0x39, (byte) 0xf1,
-            (byte) 0xb5, (byte) 0x9b, (byte) 0xb8, (byte) 0xe1, (byte) 0x42, (byte) 0x51,
-            (byte) 0xed, (byte) 0x2c
-    };
-
     /**
      * The amount of time to allow before and after expected time for variance
      * in timing tests.
@@ -1093,13 +729,6 @@
         return cf.generateCertificate(new ByteArrayInputStream(fakeUser1));
     }
 
-    private PrivateKeyEntry makeUserDsaKey1() throws Exception {
-        return new KeyStore.PrivateKeyEntry(generatePrivateKey("DSA", FAKE_DSA_KEY_1),
-                new Certificate[] {
-                generateCertificate(FAKE_DSA_USER_1), generateCertificate(FAKE_DSA_CA_1)
-        });
-    }
-
     private PrivateKeyEntry makeUserEcKey1() throws Exception {
         return new KeyStore.PrivateKeyEntry(generatePrivateKey("EC", FAKE_EC_KEY_1),
                 new Certificate[] {
@@ -1403,22 +1032,6 @@
         assertPrivateKeyEntryEquals(keyEntry, "RSA", FAKE_RSA_KEY_1, FAKE_RSA_USER_1, FAKE_RSA_CA_1);
     }
 
-    public void testKeyStore_GetEntry_DSA_NullParams_Unencrypted_Success() throws Exception {
-        mKeyStore.load(null, null);
-
-        // TEST_ALIAS_1
-        mKeyStore.setEntry(TEST_ALIAS_1, makeUserDsaKey1(), null);
-
-        Entry entry = mKeyStore.getEntry(TEST_ALIAS_1, null);
-        assertNotNull("Entry should exist", entry);
-
-        assertTrue("Should be a PrivateKeyEntry", entry instanceof PrivateKeyEntry);
-
-        PrivateKeyEntry keyEntry = (PrivateKeyEntry) entry;
-
-        assertPrivateKeyEntryEquals(keyEntry, "DSA", FAKE_DSA_KEY_1, FAKE_DSA_USER_1, FAKE_DSA_CA_1);
-    }
-
     public void testKeyStore_GetEntry_EC_NullParams_Unencrypted_Success() throws Exception {
         mKeyStore.load(null, null);
 
@@ -1477,11 +1090,7 @@
         final PrivateKey privKey = keyEntry.getPrivateKey();
         final PublicKey pubKey = keyEntry.getCertificate().getPublicKey();
 
-        if (expectedKey instanceof DSAPrivateKey) {
-            assertEquals("Returned PrivateKey should be what we inserted",
-                    ((DSAPrivateKey) expectedKey).getParams(),
-                    ((DSAPublicKey) pubKey).getParams());
-        } else if (expectedKey instanceof ECPrivateKey) {
+        if (expectedKey instanceof ECPrivateKey) {
             assertEquals("Returned PrivateKey should be what we inserted",
                     ((ECPrivateKey) expectedKey).getParams().getCurve(),
                     ((ECPublicKey) pubKey).getParams().getCurve());
diff --git a/tests/tests/keystore/src/android/keystore/cts/KeyChainTest.java b/tests/tests/keystore/src/android/keystore/cts/KeyChainTest.java
index 7aa6a9d..d8080a0 100644
--- a/tests/tests/keystore/src/android/keystore/cts/KeyChainTest.java
+++ b/tests/tests/keystore/src/android/keystore/cts/KeyChainTest.java
@@ -22,7 +22,7 @@
 
 public class KeyChainTest extends AndroidTestCase {
     public void testIsKeyAlgorithmSupported_RequiredAlgorithmsSupported() throws Exception {
-        assertTrue("DSA must be supported", KeyChain.isKeyAlgorithmSupported("DSA"));
+        assertFalse("DSA must not be supported", KeyChain.isKeyAlgorithmSupported("DSA"));
         assertTrue("EC must be supported", KeyChain.isKeyAlgorithmSupported("EC"));
         assertTrue("RSA must be supported", KeyChain.isKeyAlgorithmSupported("RSA"));
     }
diff --git a/tests/tests/media/src/android/media/cts/EncodeDecodeTest.java b/tests/tests/media/src/android/media/cts/EncodeDecodeTest.java
index 0796515..b6c94c14 100644
--- a/tests/tests/media/src/android/media/cts/EncodeDecodeTest.java
+++ b/tests/tests/media/src/android/media/cts/EncodeDecodeTest.java
@@ -16,6 +16,8 @@
 
 package android.media.cts;
 
+import android.graphics.ImageFormat;
+import android.media.Image;
 import android.media.MediaCodec;
 import android.media.MediaCodecInfo;
 import android.media.MediaCodecList;
@@ -677,6 +679,7 @@
                 } else {  // decoderStatus >= 0
                     if (!toSurface) {
                         ByteBuffer outputFrame = decoderOutputBuffers[decoderStatus];
+                        Image outputImage = (checkIndex % 2 == 0) ? null : decoder.getOutputImage(decoderStatus);
 
                         outputFrame.position(info.offset);
                         outputFrame.limit(info.offset + info.size);
@@ -688,10 +691,13 @@
                             if (VERBOSE) Log.d(TAG, "decoded, checking frame " + checkIndex);
                             assertEquals("Wrong time stamp", computePresentationTime(checkIndex),
                                     info.presentationTimeUs);
-                            if (!checkFrame(checkIndex++, decoderOutputFormat, outputFrame)) {
+                            if (!checkFrame(checkIndex++, decoderOutputFormat, outputFrame, outputImage)) {
                                 badFrames++;
                             }
                         }
+                        if (outputImage != null) {
+                            outputImage.close();
+                        }
 
                         if ((info.flags & MediaCodec.BUFFER_FLAG_END_OF_STREAM) != 0) {
                             if (VERBOSE) Log.d(TAG, "output EOS");
@@ -1012,7 +1018,7 @@
      *
      * @return true if the frame looks good
      */
-    private boolean checkFrame(int frameIndex, MediaFormat format, ByteBuffer frameData) {
+    private boolean checkFrame(int frameIndex, MediaFormat format, ByteBuffer frameData, Image image) {
         // Check for color formats we don't understand.  There is no requirement for video
         // decoders to use a "mundane" format, so we just give a pass on proprietary formats.
         // e.g. Nexus 4 0x7FA30C03 OMX_QCOM_COLOR_FormatYUV420PackedSemiPlanar64x32Tile2m8ka
@@ -1032,6 +1038,12 @@
         int cropRight = format.getInteger("crop-right");
         int cropTop = format.getInteger("crop-top");
         int cropBottom = format.getInteger("crop-bottom");
+        if (image != null) {
+            cropLeft = image.getCropRect().left;
+            cropRight = image.getCropRect().right - 1;
+            cropTop = image.getCropRect().top;
+            cropBottom = image.getCropRect().bottom - 1;
+        }
         int cropWidth = cropRight - cropLeft + 1;
         int cropHeight = cropBottom - cropTop + 1;
 
@@ -1052,18 +1064,29 @@
             x += cropLeft;
 
             int testY, testU, testV;
-            int off = frameData.position();
-            if (semiPlanar) {
-                // Galaxy Nexus uses OMX_TI_COLOR_FormatYUV420PackedSemiPlanar
-                testY = frameData.get(off + y * width + x) & 0xff;
-                testU = frameData.get(off + width*height + 2*(y/2) * halfWidth + 2*(x/2)) & 0xff;
-                testV = frameData.get(off + width*height + 2*(y/2) * halfWidth + 2*(x/2) + 1) & 0xff;
+            if (image != null) {
+                Image.Plane[] planes = image.getPlanes();
+                if (planes.length == 3 && image.getFormat() == ImageFormat.YUV_420_888) {
+                    testY = planes[0].getBuffer().get(y * planes[0].getRowStride() + x * planes[0].getPixelStride()) & 0xff;
+                    testU = planes[1].getBuffer().get((y/2) * planes[1].getRowStride() + (x/2) * planes[1].getPixelStride()) & 0xff;
+                    testV = planes[2].getBuffer().get((y/2) * planes[2].getRowStride() + (x/2) * planes[2].getPixelStride()) & 0xff;
+                } else {
+                    testY = testU = testV = 0;
+                }
             } else {
-                // Nexus 10, Nexus 7 use COLOR_FormatYUV420Planar
-                testY = frameData.get(off + y * width + x) & 0xff;
-                testU = frameData.get(off + width*height + (y/2) * halfWidth + (x/2)) & 0xff;
-                testV = frameData.get(off + width*height + halfWidth * (height / 2) +
-                        (y/2) * halfWidth + (x/2)) & 0xff;
+                int off = frameData.position();
+                if (semiPlanar) {
+                    // Galaxy Nexus uses OMX_TI_COLOR_FormatYUV420PackedSemiPlanar
+                    testY = frameData.get(off + y * width + x) & 0xff;
+                    testU = frameData.get(off + width*height + 2*(y/2) * halfWidth + 2*(x/2)) & 0xff;
+                    testV = frameData.get(off + width*height + 2*(y/2) * halfWidth + 2*(x/2) + 1) & 0xff;
+                } else {
+                    // Nexus 10, Nexus 7 use COLOR_FormatYUV420Planar
+                    testY = frameData.get(off + y * width + x) & 0xff;
+                    testU = frameData.get(off + width*height + (y/2) * halfWidth + (x/2)) & 0xff;
+                    testV = frameData.get(off + width*height + halfWidth * (height / 2) +
+                            (y/2) * halfWidth + (x/2)) & 0xff;
+                }
             }
 
             int expY, expU, expV;
diff --git a/tests/tests/os/src/android/os/cts/DebugTest.java b/tests/tests/os/src/android/os/cts/DebugTest.java
index c097240..d8f5e87 100644
--- a/tests/tests/os/src/android/os/cts/DebugTest.java
+++ b/tests/tests/os/src/android/os/cts/DebugTest.java
@@ -20,6 +20,7 @@
 import java.io.IOException;
 import java.util.logging.Level;
 import java.util.logging.Logger;
+import java.util.Map;
 
 import android.content.Context;
 import android.cts.util.TestThread;
@@ -219,4 +220,84 @@
         assertTrue(file.exists());
         assertTrue(file.length() > 0);
     }
+
+    private static void checkNumber(String s) throws Exception {
+        assertTrue(s != null);
+        long n = Long.valueOf(s);
+        assertTrue(n >= 0);
+    }
+
+    private static void checkHistogram(String s) throws Exception {
+        assertTrue(s != null);
+        assertTrue(s.length() > 0);
+        String[] buckets = s.split(",");
+        long last_key = 0;
+        for (int i = 0; i < buckets.length; ++i) {
+            String bucket = buckets[i];
+            assertTrue(bucket.length() > 0);
+            String[] kv = bucket.split(":");
+            assertTrue(kv.length == 2);
+            assertTrue(kv[0].length() > 0);
+            assertTrue(kv[1].length() > 0);
+            long key = Long.valueOf(kv[0]);
+            long value = Long.valueOf(kv[1]);
+            assertTrue(key >= 0);
+            assertTrue(value >= 0);
+            assertTrue(key >= last_key);
+            last_key = key;
+        }
+    }
+
+    public void testGetRuntimeStat() throws Exception {
+        // Invoke at least one GC and wait for 20 seconds or so so we get at
+        // least one bucket in the histograms.
+        for (int i = 0; i < 20; ++i) {
+            Runtime.getRuntime().gc();
+            Thread.sleep(1000L);
+        }
+        String gc_count = Debug.getRuntimeStat("art.gc.gc-count");
+        String gc_time = Debug.getRuntimeStat("art.gc.gc-time");
+        String bytes_allocated = Debug.getRuntimeStat("art.gc.bytes-allocated");
+        String bytes_freed = Debug.getRuntimeStat("art.gc.bytes-freed");
+        String blocking_gc_count = Debug.getRuntimeStat("art.gc.blocking-gc-count");
+        String blocking_gc_time = Debug.getRuntimeStat("art.gc.blocking-gc-time");
+        String gc_count_rate_histogram = Debug.getRuntimeStat("art.gc.gc-count-rate-histogram");
+        String blocking_gc_count_rate_histogram =
+            Debug.getRuntimeStat("art.gc.blocking-gc-count-rate-histogram");
+        checkNumber(gc_count);
+        checkNumber(gc_time);
+        checkNumber(bytes_allocated);
+        checkNumber(bytes_freed);
+        checkNumber(blocking_gc_count);
+        checkNumber(blocking_gc_time);
+        checkHistogram(gc_count_rate_histogram);
+        checkHistogram(blocking_gc_count_rate_histogram);
+    }
+
+    public void testGetRuntimeStats() throws Exception {
+        // Invoke at least one GC and wait for 20 seconds or so so we get at
+        // least one bucket in the histograms.
+        for (int i = 0; i < 20; ++i) {
+            Runtime.getRuntime().gc();
+            Thread.sleep(1000L);
+        }
+        Map<String, String> map = Debug.getRuntimeStats();
+        String gc_count = map.get("art.gc.gc-count");
+        String gc_time = map.get("art.gc.gc-time");
+        String bytes_allocated = map.get("art.gc.bytes-allocated");
+        String bytes_freed = map.get("art.gc.bytes-freed");
+        String blocking_gc_count = map.get("art.gc.blocking-gc-count");
+        String blocking_gc_time = map.get("art.gc.blocking-gc-time");
+        String gc_count_rate_histogram = map.get("art.gc.gc-count-rate-histogram");
+        String blocking_gc_count_rate_histogram =
+            map.get("art.gc.blocking-gc-count-rate-histogram");
+        checkNumber(gc_count);
+        checkNumber(gc_time);
+        checkNumber(bytes_allocated);
+        checkNumber(bytes_freed);
+        checkNumber(blocking_gc_count);
+        checkNumber(blocking_gc_time);
+        checkHistogram(gc_count_rate_histogram);
+        checkHistogram(blocking_gc_count_rate_histogram);
+    }
 }
diff --git a/tests/tests/permission/src/android/permission/cts/FileSystemPermissionTest.java b/tests/tests/permission/src/android/permission/cts/FileSystemPermissionTest.java
index f590f97..b605e4d 100644
--- a/tests/tests/permission/src/android/permission/cts/FileSystemPermissionTest.java
+++ b/tests/tests/permission/src/android/permission/cts/FileSystemPermissionTest.java
@@ -156,23 +156,18 @@
         assertFalse(f.canRead());
         assertFalse(f.canWrite());
         assertFalse(f.canExecute());
+        assertFalse(f.exists());
     }
 
     @MediumTest
     public void testDevMemSane() throws Exception {
         File f = new File("/dev/mem");
-        assertFalse(f.canRead());
-        assertFalse(f.canWrite());
-        assertFalse(f.canExecute());
         assertFalse(f.exists());
     }
 
     @MediumTest
     public void testDevkmemSane() throws Exception {
         File f = new File("/dev/kmem");
-        assertFalse(f.canRead());
-        assertFalse(f.canWrite());
-        assertFalse(f.canExecute());
         assertFalse(f.exists());
     }
 
@@ -182,6 +177,7 @@
         assertFalse(f.canRead());
         assertFalse(f.canWrite());
         assertFalse(f.canExecute());
+        assertFalse(f.exists());
     }
 
     @MediumTest
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/CoreMathVerifier.java b/tests/tests/renderscript/src/android/renderscript/cts/CoreMathVerifier.java
index 653329b..686281c 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/CoreMathVerifier.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/CoreMathVerifier.java
@@ -569,79 +569,79 @@
         }
     }
 
-    static public void computeAbs(GeneratedTestAbs.ArgumentsCharUchar args) {
+    static public void computeAbs(TestAbs.ArgumentsCharUchar args) {
         args.out = (byte)Math.abs(args.inV);
     }
 
-    static public void computeAbs(GeneratedTestAbs.ArgumentsShortUshort args) {
+    static public void computeAbs(TestAbs.ArgumentsShortUshort args) {
         args.out = (short)Math.abs(args.inV);
     }
 
-    static public void computeAbs(GeneratedTestAbs.ArgumentsIntUint args) {
+    static public void computeAbs(TestAbs.ArgumentsIntUint args) {
         args.out = Math.abs(args.inV);
     }
 
-    static public void computeAcos(GeneratedTestAcos.ArgumentsFloatFloat args, Target t) {
+    static public void computeAcos(TestAcos.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(4, 128, false);
         args.out = acos(args.inV, t);
     }
 
-    static public void computeAcosh(GeneratedTestAcosh.ArgumentsFloatFloat args, Target t) {
+    static public void computeAcosh(TestAcosh.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(4, 128, false);
         args.out = acosh(args.inV, t);
     }
 
-    static public void computeAcospi(GeneratedTestAcospi.ArgumentsFloatFloat args, Target t) {
+    static public void computeAcospi(TestAcospi.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(5, 128, false);
         args.out = acospi(args.inV, t);
     }
 
-    static public void computeAsin(GeneratedTestAsin.ArgumentsFloatFloat args, Target t) {
+    static public void computeAsin(TestAsin.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(4, 128, false);
         args.out = asin(args.inV, t);
     }
 
-    static public void computeAsinh(GeneratedTestAsinh.ArgumentsFloatFloat args, Target t) {
+    static public void computeAsinh(TestAsinh.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(4, 128, false);
         args.out = asinh(args.inV, t);
     }
 
-    static public void computeAsinpi(GeneratedTestAsinpi.ArgumentsFloatFloat args, Target t) {
+    static public void computeAsinpi(TestAsinpi.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(5, 128, false);
         args.out = asinpi(args.inV, t);
     }
 
-    static public void computeAtan(GeneratedTestAtan.ArgumentsFloatFloat args, Target t) {
+    static public void computeAtan(TestAtan.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(5, 128, false);
         args.out = atan(args.inV, t);
     }
 
-    static public void computeAtanh(GeneratedTestAtanh.ArgumentsFloatFloat args, Target t) {
+    static public void computeAtanh(TestAtanh.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(5, 128, false);
         args.out = atanh(args.inV, t);
     }
 
-    static public void computeAtanpi(GeneratedTestAtanpi.ArgumentsFloatFloat args, Target t) {
+    static public void computeAtanpi(TestAtanpi.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(5, 128, false);
         args.out = atanpi(args.inV, t);
     }
 
-    static public void computeAtan2(GeneratedTestAtan2.ArgumentsFloatFloatFloat args, Target t) {
+    static public void computeAtan2(TestAtan2.ArgumentsFloatFloatFloat args, Target t) {
         t.setPrecision(6, 128, false);
         args.out = atan2(args.inNumerator, args.inDenominator, t);
     }
 
-    static public void computeAtan2pi(GeneratedTestAtan2pi.ArgumentsFloatFloatFloat args, Target t) {
+    static public void computeAtan2pi(TestAtan2pi.ArgumentsFloatFloatFloat args, Target t) {
         t.setPrecision(6, 128, false);
         args.out = atan2pi(args.inNumerator, args.inDenominator, t);
     }
 
-    static public void computeCbrt(GeneratedTestCbrt.ArgumentsFloatFloat args, Target t) {
+    static public void computeCbrt(TestCbrt.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(2, 128, false);
         args.out = cbrt(args.inV, t);
     }
 
-    static public void computeCeil(GeneratedTestCeil.ArgumentsFloatFloat args, Target t) {
+    static public void computeCeil(TestCeil.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(0, 1, false);
         Target.Floaty in = t.new32(args.inV);
         args.out = t.new32(
@@ -650,451 +650,451 @@
             ceil(in.max32()));
     }
 
-    static public void computeClamp(GeneratedTestClamp.ArgumentsCharCharCharChar args) {
+    static public void computeClamp(TestClamp.ArgumentsCharCharCharChar args) {
         args.out = minI8(args.inMaxValue, maxI8(args.inValue, args.inMinValue));
     }
 
-    static public void computeClamp(GeneratedTestClamp.ArgumentsUcharUcharUcharUchar args) {
+    static public void computeClamp(TestClamp.ArgumentsUcharUcharUcharUchar args) {
         args.out = minU8(args.inMaxValue, maxU8(args.inValue, args.inMinValue));
     }
 
-    static public void computeClamp(GeneratedTestClamp.ArgumentsShortShortShortShort args) {
+    static public void computeClamp(TestClamp.ArgumentsShortShortShortShort args) {
         args.out = minI16(args.inMaxValue, maxI16(args.inValue, args.inMinValue));
     }
 
-    static public void computeClamp(GeneratedTestClamp.ArgumentsUshortUshortUshortUshort args) {
+    static public void computeClamp(TestClamp.ArgumentsUshortUshortUshortUshort args) {
         args.out = minU16(args.inMaxValue, maxU16(args.inValue, args.inMinValue));
     }
 
-    static public void computeClamp(GeneratedTestClamp.ArgumentsIntIntIntInt args) {
+    static public void computeClamp(TestClamp.ArgumentsIntIntIntInt args) {
         args.out = minI32(args.inMaxValue, maxI32(args.inValue, args.inMinValue));
     }
 
-    static public void computeClamp(GeneratedTestClamp.ArgumentsUintUintUintUint args) {
+    static public void computeClamp(TestClamp.ArgumentsUintUintUintUint args) {
         args.out = minU32(args.inMaxValue, maxU32(args.inValue, args.inMinValue));
     }
 
-    static public void computeClamp(GeneratedTestClamp.ArgumentsFloatFloatFloatFloat args, Target t) {
+    static public void computeClamp(TestClamp.ArgumentsFloatFloatFloatFloat args, Target t) {
         t.setPrecision(0, 0, false);
         args.out = t.new32(Math.min(args.inMaxValue,
                         Math.max(args.inValue, args.inMinValue)));
     }
 
-    static public void computeClamp(GeneratedTestClamp.ArgumentsLongLongLongLong args) {
+    static public void computeClamp(TestClamp.ArgumentsLongLongLongLong args) {
         args.out = minI64(args.inMaxValue, maxI64(args.inValue, args.inMinValue));
     }
 
-    static public void computeClamp(GeneratedTestClamp.ArgumentsUlongUlongUlongUlong args) {
+    static public void computeClamp(TestClamp.ArgumentsUlongUlongUlongUlong args) {
         args.out = minU64(args.inMaxValue, maxU64(args.inValue, args.inMinValue));
     }
 
-    static public void computeClz(GeneratedTestClz.ArgumentsCharChar args) {
+    static public void computeClz(TestClz.ArgumentsCharChar args) {
         int x = args.inValue;
         args.out = (byte) (Integer.numberOfLeadingZeros(x & 0xff) - 24);
     }
 
-    static public void computeClz(GeneratedTestClz.ArgumentsUcharUchar args) {
+    static public void computeClz(TestClz.ArgumentsUcharUchar args) {
         int x = args.inValue;
         args.out = (byte) (Integer.numberOfLeadingZeros(x & 0xff) - 24);
     }
 
-    static public void computeClz(GeneratedTestClz.ArgumentsShortShort args) {
+    static public void computeClz(TestClz.ArgumentsShortShort args) {
         args.out = (short) (Integer.numberOfLeadingZeros(args.inValue & 0xffff) - 16);
     }
 
-    static public void computeClz(GeneratedTestClz.ArgumentsUshortUshort args) {
+    static public void computeClz(TestClz.ArgumentsUshortUshort args) {
         args.out = (short) (Integer.numberOfLeadingZeros(args.inValue & 0xffff) - 16);
     }
 
-    static public void computeClz(GeneratedTestClz.ArgumentsIntInt args) {
+    static public void computeClz(TestClz.ArgumentsIntInt args) {
         args.out = (int) Integer.numberOfLeadingZeros(args.inValue);
     }
 
-    static public void computeClz(GeneratedTestClz.ArgumentsUintUint args) {
+    static public void computeClz(TestClz.ArgumentsUintUint args) {
         args.out = (int) Integer.numberOfLeadingZeros(args.inValue);
     }
 
 
-    static public void computeConvert(GeneratedTestConvert.ArgumentsCharChar args) {
+    static public void computeConvert(TestConvert.ArgumentsCharChar args) {
         args.out = convertCharToChar(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsCharUchar args) {
+    static public void computeConvert(TestConvert.ArgumentsCharUchar args) {
         args.out = convertCharToUchar(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsCharShort args) {
+    static public void computeConvert(TestConvert.ArgumentsCharShort args) {
         args.out = convertCharToShort(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsCharUshort args) {
+    static public void computeConvert(TestConvert.ArgumentsCharUshort args) {
         args.out = convertCharToUshort(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsCharInt args) {
+    static public void computeConvert(TestConvert.ArgumentsCharInt args) {
         args.out = convertCharToInt(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsCharUint args) {
+    static public void computeConvert(TestConvert.ArgumentsCharUint args) {
         args.out = convertCharToUint(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsCharLong args) {
+    static public void computeConvert(TestConvert.ArgumentsCharLong args) {
         args.out = convertCharToLong(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsCharUlong args) {
+    static public void computeConvert(TestConvert.ArgumentsCharUlong args) {
         args.out = convertCharToUlong(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsCharFloat args, Target t) {
+    static public void computeConvert(TestConvert.ArgumentsCharFloat args, Target t) {
         t.setPrecision(0, 0, false);
         args.out = t.new32(convertCharToFloat(args.inV));
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsCharDouble args, Target t) {
+    static public void computeConvert(TestConvert.ArgumentsCharDouble args, Target t) {
         t.setPrecision(0, 0, false);
         args.out = t.new64(convertCharToDouble(args.inV));
     }
 
-    static public void computeConvert(GeneratedTestConvert.ArgumentsUcharChar args) {
+    static public void computeConvert(TestConvert.ArgumentsUcharChar args) {
         args.out = convertUcharToChar(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsUcharUchar args) {
+    static public void computeConvert(TestConvert.ArgumentsUcharUchar args) {
         args.out = convertUcharToUchar(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsUcharShort args) {
+    static public void computeConvert(TestConvert.ArgumentsUcharShort args) {
         args.out = convertUcharToShort(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsUcharUshort args) {
+    static public void computeConvert(TestConvert.ArgumentsUcharUshort args) {
         args.out = convertUcharToUshort(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsUcharInt args) {
+    static public void computeConvert(TestConvert.ArgumentsUcharInt args) {
         args.out = convertUcharToInt(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsUcharUint args) {
+    static public void computeConvert(TestConvert.ArgumentsUcharUint args) {
         args.out = convertUcharToUint(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsUcharLong args) {
+    static public void computeConvert(TestConvert.ArgumentsUcharLong args) {
         args.out = convertUcharToLong(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsUcharUlong args) {
+    static public void computeConvert(TestConvert.ArgumentsUcharUlong args) {
         args.out = convertUcharToUlong(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsUcharFloat args, Target t) {
+    static public void computeConvert(TestConvert.ArgumentsUcharFloat args, Target t) {
         t.setPrecision(0, 0, false);
         args.out = t.new32(convertUcharToFloat(args.inV));
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsUcharDouble args, Target t) {
+    static public void computeConvert(TestConvert.ArgumentsUcharDouble args, Target t) {
         t.setPrecision(0, 0, false);
         args.out = t.new64(convertUcharToDouble(args.inV));
     }
 
-    static public void computeConvert(GeneratedTestConvert.ArgumentsShortChar args) {
+    static public void computeConvert(TestConvert.ArgumentsShortChar args) {
         args.out = convertShortToChar(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsShortUchar args) {
+    static public void computeConvert(TestConvert.ArgumentsShortUchar args) {
         args.out = convertShortToUchar(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsShortShort args) {
+    static public void computeConvert(TestConvert.ArgumentsShortShort args) {
         args.out = convertShortToShort(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsShortUshort args) {
+    static public void computeConvert(TestConvert.ArgumentsShortUshort args) {
         args.out = convertShortToUshort(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsShortInt args) {
+    static public void computeConvert(TestConvert.ArgumentsShortInt args) {
         args.out = convertShortToInt(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsShortUint args) {
+    static public void computeConvert(TestConvert.ArgumentsShortUint args) {
         args.out = convertShortToUint(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsShortLong args) {
+    static public void computeConvert(TestConvert.ArgumentsShortLong args) {
         args.out = convertShortToLong(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsShortUlong args) {
+    static public void computeConvert(TestConvert.ArgumentsShortUlong args) {
         args.out = convertShortToUlong(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsShortFloat args, Target t) {
+    static public void computeConvert(TestConvert.ArgumentsShortFloat args, Target t) {
         t.setPrecision(0, 0, false);
         args.out = t.new32(convertShortToFloat(args.inV));
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsShortDouble args, Target t) {
+    static public void computeConvert(TestConvert.ArgumentsShortDouble args, Target t) {
         t.setPrecision(0, 0, false);
         args.out = t.new64(convertShortToDouble(args.inV));
     }
 
-    static public void computeConvert(GeneratedTestConvert.ArgumentsUshortChar args) {
+    static public void computeConvert(TestConvert.ArgumentsUshortChar args) {
         args.out = convertUshortToChar(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsUshortUchar args) {
+    static public void computeConvert(TestConvert.ArgumentsUshortUchar args) {
         args.out = convertUshortToUchar(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsUshortShort args) {
+    static public void computeConvert(TestConvert.ArgumentsUshortShort args) {
         args.out = convertUshortToShort(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsUshortUshort args) {
+    static public void computeConvert(TestConvert.ArgumentsUshortUshort args) {
         args.out = convertUshortToUshort(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsUshortInt args) {
+    static public void computeConvert(TestConvert.ArgumentsUshortInt args) {
         args.out = convertUshortToInt(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsUshortUint args) {
+    static public void computeConvert(TestConvert.ArgumentsUshortUint args) {
         args.out = convertUshortToUint(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsUshortLong args) {
+    static public void computeConvert(TestConvert.ArgumentsUshortLong args) {
         args.out = convertUshortToLong(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsUshortUlong args) {
+    static public void computeConvert(TestConvert.ArgumentsUshortUlong args) {
         args.out = convertUshortToUlong(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsUshortFloat args, Target t) {
+    static public void computeConvert(TestConvert.ArgumentsUshortFloat args, Target t) {
         t.setPrecision(0, 0, false);
         args.out = t.new32(convertUshortToFloat(args.inV));
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsUshortDouble args, Target t) {
+    static public void computeConvert(TestConvert.ArgumentsUshortDouble args, Target t) {
         t.setPrecision(0, 0, false);
         args.out = t.new64(convertUshortToDouble(args.inV));
     }
 
-    static public void computeConvert(GeneratedTestConvert.ArgumentsIntChar args) {
+    static public void computeConvert(TestConvert.ArgumentsIntChar args) {
         args.out = convertIntToChar(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsIntUchar args) {
+    static public void computeConvert(TestConvert.ArgumentsIntUchar args) {
         args.out = convertIntToUchar(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsIntShort args) {
+    static public void computeConvert(TestConvert.ArgumentsIntShort args) {
         args.out = convertIntToShort(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsIntUshort args) {
+    static public void computeConvert(TestConvert.ArgumentsIntUshort args) {
         args.out = convertIntToUshort(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsIntInt args) {
+    static public void computeConvert(TestConvert.ArgumentsIntInt args) {
         args.out = convertIntToInt(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsIntUint args) {
+    static public void computeConvert(TestConvert.ArgumentsIntUint args) {
         args.out = convertIntToUint(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsIntLong args) {
+    static public void computeConvert(TestConvert.ArgumentsIntLong args) {
         args.out = convertIntToLong(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsIntUlong args) {
+    static public void computeConvert(TestConvert.ArgumentsIntUlong args) {
         args.out = convertIntToUlong(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsIntFloat args, Target t) {
+    static public void computeConvert(TestConvert.ArgumentsIntFloat args, Target t) {
         t.setPrecision(1, 1, false);
         args.out = t.new32(convertIntToFloat(args.inV));
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsIntDouble args, Target t) {
+    static public void computeConvert(TestConvert.ArgumentsIntDouble args, Target t) {
         t.setPrecision(0, 0, false);
         args.out = t.new64(convertIntToDouble(args.inV));
     }
 
-    static public void computeConvert(GeneratedTestConvert.ArgumentsUintChar args) {
+    static public void computeConvert(TestConvert.ArgumentsUintChar args) {
         args.out = convertUintToChar(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsUintUchar args) {
+    static public void computeConvert(TestConvert.ArgumentsUintUchar args) {
         args.out = convertUintToUchar(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsUintShort args) {
+    static public void computeConvert(TestConvert.ArgumentsUintShort args) {
         args.out = convertUintToShort(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsUintUshort args) {
+    static public void computeConvert(TestConvert.ArgumentsUintUshort args) {
         args.out = convertUintToUshort(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsUintInt args) {
+    static public void computeConvert(TestConvert.ArgumentsUintInt args) {
         args.out = convertUintToInt(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsUintUint args) {
+    static public void computeConvert(TestConvert.ArgumentsUintUint args) {
         args.out = convertUintToUint(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsUintLong args) {
+    static public void computeConvert(TestConvert.ArgumentsUintLong args) {
         args.out = convertUintToLong(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsUintUlong args) {
+    static public void computeConvert(TestConvert.ArgumentsUintUlong args) {
         args.out = convertUintToUlong(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsUintFloat args, Target t) {
+    static public void computeConvert(TestConvert.ArgumentsUintFloat args, Target t) {
         t.setPrecision(1, 1, false);
         args.out = t.new32(convertUintToFloat(args.inV));
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsUintDouble args, Target t) {
+    static public void computeConvert(TestConvert.ArgumentsUintDouble args, Target t) {
         t.setPrecision(0, 0, false);
         args.out = t.new64(convertUintToDouble(args.inV));
     }
 
-    static public void computeConvert(GeneratedTestConvert.ArgumentsLongChar args) {
+    static public void computeConvert(TestConvert.ArgumentsLongChar args) {
         args.out = convertLongToChar(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsLongUchar args) {
+    static public void computeConvert(TestConvert.ArgumentsLongUchar args) {
         args.out = convertLongToUchar(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsLongShort args) {
+    static public void computeConvert(TestConvert.ArgumentsLongShort args) {
         args.out = convertLongToShort(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsLongUshort args) {
+    static public void computeConvert(TestConvert.ArgumentsLongUshort args) {
         args.out = convertLongToUshort(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsLongInt args) {
+    static public void computeConvert(TestConvert.ArgumentsLongInt args) {
         args.out = convertLongToInt(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsLongUint args) {
+    static public void computeConvert(TestConvert.ArgumentsLongUint args) {
         args.out = convertLongToUint(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsLongLong args) {
+    static public void computeConvert(TestConvert.ArgumentsLongLong args) {
         args.out = convertLongToLong(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsLongUlong args) {
+    static public void computeConvert(TestConvert.ArgumentsLongUlong args) {
         args.out = convertLongToUlong(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsLongFloat args, Target t) {
+    static public void computeConvert(TestConvert.ArgumentsLongFloat args, Target t) {
         t.setPrecision(1, 1, false);
         args.out = t.new32(convertLongToFloat(args.inV));
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsLongDouble args, Target t) {
+    static public void computeConvert(TestConvert.ArgumentsLongDouble args, Target t) {
         t.setPrecision(1, 1, false);
         args.out = t.new64(convertLongToDouble(args.inV));
     }
 
-    static public void computeConvert(GeneratedTestConvert.ArgumentsUlongChar args) {
+    static public void computeConvert(TestConvert.ArgumentsUlongChar args) {
         args.out = convertUlongToChar(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsUlongUchar args) {
+    static public void computeConvert(TestConvert.ArgumentsUlongUchar args) {
         args.out = convertUlongToUchar(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsUlongShort args) {
+    static public void computeConvert(TestConvert.ArgumentsUlongShort args) {
         args.out = convertUlongToShort(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsUlongUshort args) {
+    static public void computeConvert(TestConvert.ArgumentsUlongUshort args) {
         args.out = convertUlongToUshort(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsUlongInt args) {
+    static public void computeConvert(TestConvert.ArgumentsUlongInt args) {
         args.out = convertUlongToInt(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsUlongUint args) {
+    static public void computeConvert(TestConvert.ArgumentsUlongUint args) {
         args.out = convertUlongToUint(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsUlongLong args) {
+    static public void computeConvert(TestConvert.ArgumentsUlongLong args) {
         args.out = convertUlongToLong(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsUlongUlong args) {
+    static public void computeConvert(TestConvert.ArgumentsUlongUlong args) {
         args.out = convertUlongToUlong(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsUlongFloat args, Target t) {
+    static public void computeConvert(TestConvert.ArgumentsUlongFloat args, Target t) {
         t.setPrecision(1, 1, false);
         args.out = t.new32(convertUlongToFloat(args.inV));
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsUlongDouble args, Target t) {
+    static public void computeConvert(TestConvert.ArgumentsUlongDouble args, Target t) {
         t.setPrecision(1, 1, false);
         args.out = t.new64(convertUlongToDouble(args.inV));
     }
 
-    static public void computeConvert(GeneratedTestConvert.ArgumentsFloatChar args) {
+    static public void computeConvert(TestConvert.ArgumentsFloatChar args) {
         args.out = convertFloatToChar(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsFloatUchar args) {
+    static public void computeConvert(TestConvert.ArgumentsFloatUchar args) {
         args.out = convertFloatToUchar(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsFloatShort args) {
+    static public void computeConvert(TestConvert.ArgumentsFloatShort args) {
         args.out = convertFloatToShort(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsFloatUshort args) {
+    static public void computeConvert(TestConvert.ArgumentsFloatUshort args) {
         args.out = convertFloatToUshort(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsFloatInt args) {
+    static public void computeConvert(TestConvert.ArgumentsFloatInt args) {
         args.out = convertFloatToInt(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsFloatUint args) {
+    static public void computeConvert(TestConvert.ArgumentsFloatUint args) {
         args.out = convertFloatToUint(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsFloatLong args) {
+    static public void computeConvert(TestConvert.ArgumentsFloatLong args) {
         args.out = convertFloatToLong(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsFloatUlong args) {
+    static public void computeConvert(TestConvert.ArgumentsFloatUlong args) {
         args.out = convertFloatToUlong(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsFloatFloat args, Target t) {
+    static public void computeConvert(TestConvert.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(0, 0, false);
         args.out = t.new32(convertFloatToFloat(args.inV));
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsFloatDouble args, Target t) {
+    static public void computeConvert(TestConvert.ArgumentsFloatDouble args, Target t) {
         t.setPrecision(0, 0, false);
         args.out = t.new64(convertFloatToDouble(args.inV));
     }
 
-    static public void computeConvert(GeneratedTestConvert.ArgumentsDoubleChar args) {
+    static public void computeConvert(TestConvert.ArgumentsDoubleChar args) {
         args.out = convertDoubleToChar(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsDoubleUchar args) {
+    static public void computeConvert(TestConvert.ArgumentsDoubleUchar args) {
         args.out = convertDoubleToUchar(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsDoubleShort args) {
+    static public void computeConvert(TestConvert.ArgumentsDoubleShort args) {
         args.out = convertDoubleToShort(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsDoubleUshort args) {
+    static public void computeConvert(TestConvert.ArgumentsDoubleUshort args) {
         args.out = convertDoubleToUshort(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsDoubleInt args) {
+    static public void computeConvert(TestConvert.ArgumentsDoubleInt args) {
         args.out = convertDoubleToInt(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsDoubleUint args) {
+    static public void computeConvert(TestConvert.ArgumentsDoubleUint args) {
         args.out = convertDoubleToUint(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsDoubleLong args) {
+    static public void computeConvert(TestConvert.ArgumentsDoubleLong args) {
         args.out = convertDoubleToLong(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsDoubleUlong args) {
+    static public void computeConvert(TestConvert.ArgumentsDoubleUlong args) {
         args.out = convertDoubleToUlong(args.inV);
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsDoubleFloat args, Target t) {
+    static public void computeConvert(TestConvert.ArgumentsDoubleFloat args, Target t) {
         t.setPrecision(1, 1, false);
         args.out = t.new32(convertDoubleToFloat(args.inV));
     }
-    static public void computeConvert(GeneratedTestConvert.ArgumentsDoubleDouble args, Target t) {
+    static public void computeConvert(TestConvert.ArgumentsDoubleDouble args, Target t) {
         t.setPrecision(0, 0, false);
         args.out = t.new64(convertDoubleToDouble(args.inV));
     }
 
-    static public void computeCopysign(GeneratedTestCopysign.ArgumentsFloatFloatFloat args, Target t) {
+    static public void computeCopysign(TestCopysign.ArgumentsFloatFloatFloat args, Target t) {
         t.setPrecision(0, 0, false);
         args.out = t.new32(Math.copySign(args.inMagnitudeValue, args.inSignValue));
     }
 
-    static public void computeCos(GeneratedTestCos.ArgumentsFloatFloat args, Target t) {
+    static public void computeCos(TestCos.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(4, 128, false);
         args.out = cos(args.inV, t);
     }
 
-    static public void computeCosh(GeneratedTestCosh.ArgumentsFloatFloat args, Target t) {
+    static public void computeCosh(TestCosh.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(4, 128, false);
         args.out = cosh(args.inV, t);
     }
 
-    static public void computeCospi(GeneratedTestCospi.ArgumentsFloatFloat args, Target t) {
+    static public void computeCospi(TestCospi.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(4, 128, false);
         args.out = cospi(args.inV, t);
     }
 
-    static public void computeCross(GeneratedTestCross.ArgumentsFloatNFloatNFloatN args, Target t) {
+    static public void computeCross(TestCross.ArgumentsFloatNFloatNFloatN args, Target t) {
         t.setPrecision(1, 4, false);
         cross(args.inLeftVector, args.inRightVector, args.out, t);
     }
 
-    static public void computeDegrees(GeneratedTestDegrees.ArgumentsFloatFloat args, Target t) {
+    static public void computeDegrees(TestDegrees.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(3, 3, false);
         Target.Floaty in = t.new32(args.inV);
         Target.Floaty k = t.new32((float)(180.0 / Math.PI));
         args.out = t.multiply(in, k);
     }
 
-    static public void computeDistance(GeneratedTestDistance.ArgumentsFloatFloatFloat args, Target t) {
+    static public void computeDistance(TestDistance.ArgumentsFloatFloatFloat args, Target t) {
         t.setPrecision(1, 1, false);
         args.out = distance(new float[] {args.inLeftVector}, new float[] {args.inRightVector}, t);
     }
 
-    static public void computeDistance(GeneratedTestDistance.ArgumentsFloatNFloatNFloat args, Target t) {
+    static public void computeDistance(TestDistance.ArgumentsFloatNFloatNFloat args, Target t) {
         t.setPrecision(1, 1, false);
         args.out = distance(args.inLeftVector, args.inRightVector, t);
     }
 
-    static public void computeDot(GeneratedTestDot.ArgumentsFloatFloatFloat args, Target t) {
+    static public void computeDot(TestDot.ArgumentsFloatFloatFloat args, Target t) {
         t.setPrecision(1, 4, false);
         Target.Floaty a = t.new32(args.inLeftVector);
         Target.Floaty b = t.new32(args.inRightVector);
         args.out = t.multiply(a, b);
     }
 
-    static public void computeDot(GeneratedTestDot.ArgumentsFloatNFloatNFloat args, Target t) {
+    static public void computeDot(TestDot.ArgumentsFloatNFloatNFloat args, Target t) {
         t.setPrecision(1, 4, false);
         Target.Floaty sum = t.new32(0.f);
         for (int i = 0; i < args.inLeftVector.length; i++) {
@@ -1105,7 +1105,7 @@
         args.out = sum;
     }
 
-    static public void computeErf(GeneratedTestErf.ArgumentsFloatFloat args, Target t) {
+    static public void computeErf(TestErf.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(16, 128, false);
         Target.Floaty in = t.new32(args.inV);
         args.out = t.new32(
@@ -1114,7 +1114,7 @@
             erf(in.max32()));
     }
 
-    static public void computeErfc(GeneratedTestErfc.ArgumentsFloatFloat args, Target t) {
+    static public void computeErfc(TestErfc.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(16, 128, false);
         Target.Floaty in = t.new32(args.inV);
         args.out = t.new32(
@@ -1123,27 +1123,27 @@
             erfc(in.max32()));
     }
 
-    static public void computeExp(GeneratedTestExp.ArgumentsFloatFloat args, Target t) {
+    static public void computeExp(TestExp.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(3, 16, false);
         args.out = exp(args.inV, t);
     }
 
-    static public void computeExp10(GeneratedTestExp10.ArgumentsFloatFloat args, Target t) {
+    static public void computeExp10(TestExp10.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(3, 32, false);
         args.out = exp10(args.inV, t);
     }
 
-    static public void computeExp2(GeneratedTestExp2.ArgumentsFloatFloat args, Target t) {
+    static public void computeExp2(TestExp2.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(3, 16, false);
         args.out = exp2(args.inV, t);
     }
 
-    static public void computeExpm1(GeneratedTestExpm1.ArgumentsFloatFloat args, Target t) {
+    static public void computeExpm1(TestExpm1.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(3, 16, false);
         args.out = expm1(args.inV, t);
     }
 
-    static public void computeFabs(GeneratedTestFabs.ArgumentsFloatFloat args, Target t) {
+    static public void computeFabs(TestFabs.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(0, 0, false);
         Target.Floaty in = t.new32(args.inV);
         args.out = t.new32(
@@ -1152,39 +1152,39 @@
             Math.abs(in.max32()));
     }
 
-    static public void computeFastDistance(GeneratedTestFastDistance.ArgumentsFloatFloatFloat args, Target t) {
+    static public void computeFastDistance(TestFastDistance.ArgumentsFloatFloatFloat args, Target t) {
         t.setPrecision(FAST_PRECISION, FAST_PRECISION, false);
         args.out = distance(new float[] {args.inLeftVector}, new float[] {args.inRightVector}, t);
     }
 
-    static public void computeFastDistance(GeneratedTestFastDistance.ArgumentsFloatNFloatNFloat args, Target t) {
+    static public void computeFastDistance(TestFastDistance.ArgumentsFloatNFloatNFloat args, Target t) {
         t.setPrecision(FAST_PRECISION, FAST_PRECISION, false);
         args.out = distance(args.inLeftVector, args.inRightVector, t);
     }
 
-    static public void computeFastLength(GeneratedTestFastLength.ArgumentsFloatFloat args, Target t) {
+    static public void computeFastLength(TestFastLength.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(FAST_PRECISION, FAST_PRECISION, false);
         args.out = length(new float[] {args.inV}, t);
     }
 
-    static public void computeFastLength(GeneratedTestFastLength.ArgumentsFloatNFloat args, Target t) {
+    static public void computeFastLength(TestFastLength.ArgumentsFloatNFloat args, Target t) {
         t.setPrecision(FAST_PRECISION, FAST_PRECISION, false);
         args.out = length(args.inV, t);
     }
 
-    static public void computeFastNormalize(GeneratedTestFastNormalize.ArgumentsFloatFloat args, Target t) {
+    static public void computeFastNormalize(TestFastNormalize.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(FAST_PRECISION, FAST_PRECISION, false);
         Target.Floaty[] out = new Target.Floaty[1];
         normalize(new float[] {args.inV}, out, t);
         args.out = out[0];
     }
 
-    static public void computeFastNormalize(GeneratedTestFastNormalize.ArgumentsFloatNFloatN args, Target t) {
+    static public void computeFastNormalize(TestFastNormalize.ArgumentsFloatNFloatN args, Target t) {
         t.setPrecision(FAST_PRECISION, FAST_PRECISION, false);
         normalize(args.inV, args.out, t);
     }
 
-    static public void computeFdim(GeneratedTestFdim.ArgumentsFloatFloatFloat args, Target t) {
+    static public void computeFdim(TestFdim.ArgumentsFloatFloatFloat args, Target t) {
         t.setPrecision(1, 1, false);
         Target.Floaty inA = t.new32(args.inA);
         Target.Floaty inB = t.new32(args.inB);
@@ -1195,7 +1195,7 @@
             Math.max(0.f, r.max32()));
     }
 
-    static public void computeFloor(GeneratedTestFloor.ArgumentsFloatFloat args, Target t) {
+    static public void computeFloor(TestFloor.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(0, 0, false);
         Target.Floaty in = t.new32(args.inV);
         args.out = t.new32(
@@ -1204,13 +1204,13 @@
             floor(in.max32()));
     }
 
-    static public void computeFma(GeneratedTestFma.ArgumentsFloatFloatFloatFloat args, Target t) {
+    static public void computeFma(TestFma.ArgumentsFloatFloatFloatFloat args, Target t) {
         t.setPrecision(1, 1, false);
         Target.Floaty ab = t.multiply(t.new32(args.inMultiplicand1), t.new32(args.inMultiplicand2));
         args.out = t.add(ab, t.new32(args.inOffset));
     }
 
-    static public void computeFmax(GeneratedTestFmax.ArgumentsFloatFloatFloat args, Target t) {
+    static public void computeFmax(TestFmax.ArgumentsFloatFloatFloat args, Target t) {
         t.setPrecision(0, 0, false);
         Target.Floaty a = t.new32(args.inA);
         Target.Floaty b = t.new32(args.inB);
@@ -1222,7 +1222,7 @@
             Math.max(a.max32(), b.max32()));
     }
 
-    static public void computeFmin(GeneratedTestFmin.ArgumentsFloatFloatFloat args, Target t) {
+    static public void computeFmin(TestFmin.ArgumentsFloatFloatFloat args, Target t) {
         t.setPrecision(0, 0, false);
         Target.Floaty a = t.new32(args.inA);
         Target.Floaty b = t.new32(args.inB);
@@ -1234,7 +1234,7 @@
             Math.min(a.max32(), b.max32()));
     }
 
-    static public void computeFmod(GeneratedTestFmod.ArgumentsFloatFloatFloat args, Target t) {
+    static public void computeFmod(TestFmod.ArgumentsFloatFloatFloat args, Target t) {
         t.setPrecision(1, 1, false);
         Target.Floaty numerator = t.new32(args.inNumerator);
         Target.Floaty denominator = t.new32(args.inDenominator);
@@ -1246,7 +1246,7 @@
             numerator.max32() % denominator.max32());
     }
 
-    static public void computeFract(GeneratedTestFract.ArgumentsFloatFloatFloat args, Target t) {
+    static public void computeFract(TestFract.ArgumentsFloatFloatFloat args, Target t) {
         t.setPrecision(1, 1, false);
         float floor = floor(args.inV);
         args.outFloor = t.new32(floor);
@@ -1254,41 +1254,41 @@
         args.out = t.new32(Math.min(args.inV - floor, 0x1.fffffep-1f));
     }
 
-    static public void computeFract(GeneratedTestFract.ArgumentsFloatFloat args, Target t) {
+    static public void computeFract(TestFract.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(1, 1, false);
         float floor = floor(args.inV);
         // 0x1.fffffep-1f is 0.999999...
         args.out = t.new32(Math.min(args.inV - floor, 0x1.fffffep-1f));
     }
 
-    static public void computeFrexp(GeneratedTestFrexp.ArgumentsFloatIntFloat args, Target t) {
+    static public void computeFrexp(TestFrexp.ArgumentsFloatIntFloat args, Target t) {
         t.setPrecision(0, 0, false);
         FrexpResult result = frexp(args.inV);
         args.out = t.new32(result.significand);
         args.outExponent = result.exponent;
     }
 
-    static public void computeHalfRecip(GeneratedTestHalfRecip.ArgumentsFloatFloat args, Target t) {
+    static public void computeHalfRecip(TestHalfRecip.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(HALF_PRECISION, HALF_PRECISION, false);
         args.out = recip(args.inV, t);
     }
 
-    static public void computeHalfRsqrt(GeneratedTestHalfRsqrt.ArgumentsFloatFloat args, Target t) {
+    static public void computeHalfRsqrt(TestHalfRsqrt.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(HALF_PRECISION, HALF_PRECISION, false);
         args.out = rsqrt(args.inV, t);
     }
 
-    static public void computeHalfSqrt(GeneratedTestHalfSqrt.ArgumentsFloatFloat args, Target t) {
+    static public void computeHalfSqrt(TestHalfSqrt.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(HALF_PRECISION, HALF_PRECISION, false);
         args.out = sqrt(args.inV, t);
     }
 
-    static public void computeHypot(GeneratedTestHypot.ArgumentsFloatFloatFloat args, Target t) {
+    static public void computeHypot(TestHypot.ArgumentsFloatFloatFloat args, Target t) {
         t.setPrecision(4, 4, false);
         args.out = hypot(args.inA, args.inB, t);
     }
 
-    static public String verifyIlogb(GeneratedTestIlogb.ArgumentsFloatInt args) {
+    static public String verifyIlogb(TestIlogb.ArgumentsFloatInt args) {
         // Special case when the input is 0.  We accept two different answers.
         if (args.inV == 0.f) {
             if (args.out != -Integer.MAX_VALUE && args.out != Integer.MIN_VALUE) {
@@ -1304,7 +1304,7 @@
         return null;
     }
 
-    static public void computeLdexp(GeneratedTestLdexp.ArgumentsFloatIntFloat args, Target t) {
+    static public void computeLdexp(TestLdexp.ArgumentsFloatIntFloat args, Target t) {
         t.setPrecision(1, 1, false);
         Target.Floaty inMantissa = t.new32(args.inMantissa);
         args.out = t.new32(
@@ -1313,17 +1313,17 @@
             ldexp(inMantissa.max32(), args.inExponent));
     }
 
-    static public void computeLength(GeneratedTestLength.ArgumentsFloatFloat args, Target t) {
+    static public void computeLength(TestLength.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(1, 1, false);
         args.out = length(new float[]{args.inV}, t);
     }
 
-    static public void computeLength(GeneratedTestLength.ArgumentsFloatNFloat args, Target t) {
+    static public void computeLength(TestLength.ArgumentsFloatNFloat args, Target t) {
         t.setPrecision(1, 1, false);
         args.out = length(args.inV, t);
     }
 
-    static public void computeLgamma(GeneratedTestLgamma.ArgumentsFloatFloat args, Target t) {
+    static public void computeLgamma(TestLgamma.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(16, 128, false);
         Target.Floaty in = t.new32(args.inV);
         args.out = t.new32(
@@ -1335,7 +1335,7 @@
     /* TODO Until -0 handling is corrected in bionic & associated drivers, we temporarily
      * disable the verification of -0.  We do this with a custom verifier.  Once bionic
      * is fixed, we can restore computeLgamma and remove verifyLgamma.
-    static public void computeLgamma(GeneratedTestLgamma.ArgumentsFloatIntFloat args, Target t) {
+    static public void computeLgamma(TestLgamma.ArgumentsFloatIntFloat args, Target t) {
         t.setPrecision(16, 128, false);
         Target.Floaty in = t.new32(args.inV);
         LgammaResult result = lgamma2(in.mid32());
@@ -1345,7 +1345,7 @@
         args.outY = result.gammaSign;
     }
     */
-    static public String verifyLgamma(GeneratedTestLgamma.ArgumentsFloatIntFloat args, Target t) {
+    static public String verifyLgamma(TestLgamma.ArgumentsFloatIntFloat args, Target t) {
         t.setPrecision(16, 128, false);
         Target.Floaty in = t.new32(args.inV);
         LgammaResult result = lgamma2(in.mid32());
@@ -1374,27 +1374,27 @@
 
     // TODO The relaxed ulf for the various log are taken from the old tests.
     // They are not consistent.
-    static public void computeLog(GeneratedTestLog.ArgumentsFloatFloat args, Target t) {
+    static public void computeLog(TestLog.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(3, 16, false);
         args.out = log(args.inV, t);
     }
 
-    static public void computeLog10(GeneratedTestLog10.ArgumentsFloatFloat args, Target t) {
+    static public void computeLog10(TestLog10.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(3, 16, false);
         args.out = log10(args.inV, t);
     }
 
-    static public void computeLog1p(GeneratedTestLog1p.ArgumentsFloatFloat args, Target t) {
+    static public void computeLog1p(TestLog1p.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(2, 16, false);
         args.out = log1p(args.inV, t);
     }
 
-    static public void computeLog2(GeneratedTestLog2.ArgumentsFloatFloat args, Target t) {
+    static public void computeLog2(TestLog2.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(3, 128, false);
         args.out = log2(args.inV, t);
     }
 
-    static public void computeLogb(GeneratedTestLogb.ArgumentsFloatFloat args, Target t) {
+    static public void computeLogb(TestLogb.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(0, 0, false);
         Target.Floaty in = t.new32(args.inV);
         args.out = t.new32(
@@ -1403,45 +1403,45 @@
             logb(in.max32()));
     }
 
-    static public void computeMad(GeneratedTestMad.ArgumentsFloatFloatFloatFloat args, Target t) {
+    static public void computeMad(TestMad.ArgumentsFloatFloatFloatFloat args, Target t) {
         t.setPrecision(1, 4, false);
         Target.Floaty ab = t.multiply(t.new32(args.inMultiplicand1), t.new32(args.inMultiplicand2));
         args.out = t.add(ab, t.new32(args.inOffset));
     }
 
-    static public void computeMax(GeneratedTestMax.ArgumentsCharCharChar args) {
+    static public void computeMax(TestMax.ArgumentsCharCharChar args) {
         args.out = maxI8(args.inA, args.inB);
     }
 
-    static public void computeMax(GeneratedTestMax.ArgumentsUcharUcharUchar args) {
+    static public void computeMax(TestMax.ArgumentsUcharUcharUchar args) {
         args.out = maxU8(args.inA, args.inB);
     }
 
-    static public void computeMax(GeneratedTestMax.ArgumentsShortShortShort args) {
+    static public void computeMax(TestMax.ArgumentsShortShortShort args) {
         args.out = maxI16(args.inA, args.inB);
     }
 
-    static public void computeMax(GeneratedTestMax.ArgumentsUshortUshortUshort args) {
+    static public void computeMax(TestMax.ArgumentsUshortUshortUshort args) {
         args.out = maxU16(args.inA, args.inB);
     }
 
-    static public void computeMax(GeneratedTestMax.ArgumentsIntIntInt args) {
+    static public void computeMax(TestMax.ArgumentsIntIntInt args) {
         args.out = maxI32(args.inA, args.inB);
     }
 
-    static public void computeMax(GeneratedTestMax.ArgumentsUintUintUint args) {
+    static public void computeMax(TestMax.ArgumentsUintUintUint args) {
         args.out = maxU32(args.inA, args.inB);
     }
 
-    static public void computeMax(GeneratedTestMax.ArgumentsLongLongLong args) {
+    static public void computeMax(TestMax.ArgumentsLongLongLong args) {
         args.out = maxI64(args.inA, args.inB);
     }
 
-    static public void computeMax(GeneratedTestMax.ArgumentsUlongUlongUlong args) {
+    static public void computeMax(TestMax.ArgumentsUlongUlongUlong args) {
         args.out = maxU64(args.inA, args.inB);
     }
 
-    static public void computeMax(GeneratedTestMax.ArgumentsFloatFloatFloat args, Target t) {
+    static public void computeMax(TestMax.ArgumentsFloatFloatFloat args, Target t) {
         t.setPrecision(0, 0, false);
         Target.Floaty a = t.new32(args.inA);
         Target.Floaty b = t.new32(args.inB);
@@ -1453,44 +1453,44 @@
             Math.max(a.max32(), b.max32()));
     }
 
-    static public void computeMin(GeneratedTestMin.ArgumentsCharCharChar args) {
+    static public void computeMin(TestMin.ArgumentsCharCharChar args) {
         args.out = minI8(args.inA, args.inB);
     }
 
-    static public void computeMin(GeneratedTestMin.ArgumentsUcharUcharUchar args) {
+    static public void computeMin(TestMin.ArgumentsUcharUcharUchar args) {
         args.out = minU8(args.inA, args.inB);
     }
 
-    static public void computeMin(GeneratedTestMin.ArgumentsShortShortShort args) {
+    static public void computeMin(TestMin.ArgumentsShortShortShort args) {
         args.out = minI16(args.inA, args.inB);
     }
 
-    static public void computeMin(GeneratedTestMin.ArgumentsUshortUshortUshort args) {
+    static public void computeMin(TestMin.ArgumentsUshortUshortUshort args) {
         args.out = minU16(args.inA, args.inB);
     }
 
-    static public void computeMin(GeneratedTestMin.ArgumentsIntIntInt args) {
+    static public void computeMin(TestMin.ArgumentsIntIntInt args) {
         args.out = minI32(args.inA, args.inB);
     }
 
-    static public void computeMin(GeneratedTestMin.ArgumentsUintUintUint args) {
+    static public void computeMin(TestMin.ArgumentsUintUintUint args) {
         args.out = minU32(args.inA, args.inB);
     }
 
-    static public void computeMin(GeneratedTestMin.ArgumentsLongLongLong args) {
+    static public void computeMin(TestMin.ArgumentsLongLongLong args) {
         args.out = minI64(args.inA, args.inB);
     }
 
-    static public void computeMin(GeneratedTestMin.ArgumentsUlongUlongUlong args) {
+    static public void computeMin(TestMin.ArgumentsUlongUlongUlong args) {
         args.out = minU64(args.inA, args.inB);
     }
 
-    static public void computeMin(GeneratedTestMin.ArgumentsFloatFloatFloat args, Target t) {
+    static public void computeMin(TestMin.ArgumentsFloatFloatFloat args, Target t) {
         t.setPrecision(0, 0, false);
         args.out = t.new32(Math.min(args.inA, args.inB));
     }
 
-    static public void computeMix(GeneratedTestMix.ArgumentsFloatFloatFloatFloat args, Target t) {
+    static public void computeMix(TestMix.ArgumentsFloatFloatFloatFloat args, Target t) {
         t.setPrecision(1, 4, false);
         Target.Floaty start = t.new32(args.inStart);
         Target.Floaty stop = t.new32(args.inStop);
@@ -1498,146 +1498,146 @@
         args.out = t.add(start, t.multiply(diff, t.new32(args.inFraction)));
     }
 
-    static public void computeModf(GeneratedTestModf.ArgumentsFloatFloatFloat args, Target t) {
+    static public void computeModf(TestModf.ArgumentsFloatFloatFloat args, Target t) {
         t.setPrecision(0, 0, false);
         float ret = (float)(int)args.inV;
         args.outIntegralPart = t.new32(ret);
         args.out = t.new32(args.inV - ret);
     }
 
-    static public void computeNan(GeneratedTestNan.ArgumentsUintFloat args, Target t) {
+    static public void computeNan(TestNan.ArgumentsUintFloat args, Target t) {
         t.setPrecision(0, 0, false);
         // TODO(jeanluc) We're not using the input argument
         args.out = t.new32(Float.NaN);
     }
 
-    static public void computeNativeAcos(GeneratedTestNativeAcos.ArgumentsFloatFloat args, Target t) {
+    static public void computeNativeAcos(TestNativeAcos.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(NATIVE_PRECISION, NATIVE_PRECISION, true);
         args.out = acos(args.inV, t);
     }
 
-    static public void computeNativeAcosh(GeneratedTestNativeAcosh.ArgumentsFloatFloat args, Target t) {
+    static public void computeNativeAcosh(TestNativeAcosh.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(NATIVE_PRECISION, NATIVE_PRECISION, true);
         args.out = acosh(args.inV, t);
     }
 
-    static public void computeNativeAcospi(GeneratedTestNativeAcospi.ArgumentsFloatFloat args, Target t) {
+    static public void computeNativeAcospi(TestNativeAcospi.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(NATIVE_PRECISION, NATIVE_PRECISION, true);
         args.out = acospi(args.inV, t);
     }
 
-    static public void computeNativeAsin(GeneratedTestNativeAsin.ArgumentsFloatFloat args, Target t) {
+    static public void computeNativeAsin(TestNativeAsin.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(NATIVE_PRECISION, NATIVE_PRECISION, true);
         args.out = asin(args.inV, t);
     }
 
-    static public void computeNativeAsinh(GeneratedTestNativeAsinh.ArgumentsFloatFloat args, Target t) {
+    static public void computeNativeAsinh(TestNativeAsinh.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(NATIVE_PRECISION, NATIVE_PRECISION, true);
         args.out = asinh(args.inV, t);
     }
 
-    static public void computeNativeAsinpi(GeneratedTestNativeAsinpi.ArgumentsFloatFloat args, Target t) {
+    static public void computeNativeAsinpi(TestNativeAsinpi.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(NATIVE_PRECISION, NATIVE_PRECISION, true);
         args.out = asinpi(args.inV, t);
     }
 
-    static public void computeNativeAtan(GeneratedTestNativeAtan.ArgumentsFloatFloat args, Target t) {
+    static public void computeNativeAtan(TestNativeAtan.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(NATIVE_PRECISION, NATIVE_PRECISION, true);
         args.out = atan(args.inV, t);
     }
 
-    static public void computeNativeAtanh(GeneratedTestNativeAtanh.ArgumentsFloatFloat args, Target t) {
+    static public void computeNativeAtanh(TestNativeAtanh.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(NATIVE_PRECISION, NATIVE_PRECISION, true);
         args.out = atanh(args.inV, t);
     }
 
-    static public void computeNativeAtanpi(GeneratedTestNativeAtanpi.ArgumentsFloatFloat args, Target t) {
+    static public void computeNativeAtanpi(TestNativeAtanpi.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(NATIVE_PRECISION, NATIVE_PRECISION, true);
         args.out = atanpi(args.inV, t);
     }
 
-    static public void computeNativeAtan2(GeneratedTestNativeAtan2.ArgumentsFloatFloatFloat args, Target t) {
+    static public void computeNativeAtan2(TestNativeAtan2.ArgumentsFloatFloatFloat args, Target t) {
         t.setPrecision(NATIVE_PRECISION, NATIVE_PRECISION, true);
         args.out = atan2(args.inNumerator, args.inDenominator, t);
     }
 
-    static public void computeNativeAtan2pi(GeneratedTestNativeAtan2pi.ArgumentsFloatFloatFloat args, Target t) {
+    static public void computeNativeAtan2pi(TestNativeAtan2pi.ArgumentsFloatFloatFloat args, Target t) {
         t.setPrecision(NATIVE_PRECISION, NATIVE_PRECISION, true);
         args.out = atan2pi(args.inNumerator, args.inDenominator, t);
     }
 
-    static public void computeNativeCbrt(GeneratedTestNativeCbrt.ArgumentsFloatFloat args, Target t) {
+    static public void computeNativeCbrt(TestNativeCbrt.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(NATIVE_PRECISION, NATIVE_PRECISION, true);
         args.out = cbrt(args.inV, t);
     }
 
-    static public void computeNativeCos(GeneratedTestNativeCos.ArgumentsFloatFloat args, Target t) {
+    static public void computeNativeCos(TestNativeCos.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(NATIVE_PRECISION, NATIVE_PRECISION, true);
         args.out = cos(args.inV, t);
     }
 
-    static public void computeNativeCosh(GeneratedTestNativeCosh.ArgumentsFloatFloat args, Target t) {
+    static public void computeNativeCosh(TestNativeCosh.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(NATIVE_PRECISION, NATIVE_PRECISION, true);
         args.out = cosh(args.inV, t);
     }
 
-    static public void computeNativeCospi(GeneratedTestNativeCospi.ArgumentsFloatFloat args, Target t) {
+    static public void computeNativeCospi(TestNativeCospi.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(NATIVE_PRECISION, NATIVE_PRECISION, true);
         args.out = cospi(args.inV, t);
     }
 
-    static public void computeNativeDistance(GeneratedTestNativeDistance.ArgumentsFloatFloatFloat args, Target t) {
+    static public void computeNativeDistance(TestNativeDistance.ArgumentsFloatFloatFloat args, Target t) {
         t.setPrecision(NATIVE_PRECISION, NATIVE_PRECISION, true);
         args.out = distance(new float[]{args.inLeftVector}, new float[]{args.inRightVector}, t);
     }
 
-    static public void computeNativeDistance(GeneratedTestNativeDistance.ArgumentsFloatNFloatNFloat args, Target t) {
+    static public void computeNativeDistance(TestNativeDistance.ArgumentsFloatNFloatNFloat args, Target t) {
         t.setPrecision(NATIVE_PRECISION, NATIVE_PRECISION, true);
         args.out = distance(args.inLeftVector, args.inRightVector, t);
     }
 
-    static public void computeNativeDivide(GeneratedTestNativeDivide.ArgumentsFloatFloatFloat args, Target t) {
+    static public void computeNativeDivide(TestNativeDivide.ArgumentsFloatFloatFloat args, Target t) {
         t.setPrecision(NATIVE_PRECISION, NATIVE_PRECISION, true);
         args.out = t.divide(t.new32(args.inLeftVector), t.new32(args.inRightVector));
     }
 
-    static public void computeNativeExp(GeneratedTestNativeExp.ArgumentsFloatFloat args, Target t) {
+    static public void computeNativeExp(TestNativeExp.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(NATIVE_PRECISION, NATIVE_PRECISION, true);
         args.out = exp(args.inV, t);
     }
 
-    static public void computeNativeExp10(GeneratedTestNativeExp10.ArgumentsFloatFloat args, Target t) {
+    static public void computeNativeExp10(TestNativeExp10.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(NATIVE_PRECISION, NATIVE_PRECISION, true);
         args.out = exp10(args.inV, t);
     }
 
-    static public void computeNativeExp2(GeneratedTestNativeExp2.ArgumentsFloatFloat args, Target t) {
+    static public void computeNativeExp2(TestNativeExp2.ArgumentsFloatFloat args, Target t) {
         // TODO we would like to use NATIVE_PRECISION, NATIVE_PRECISION
         t.setPrecision(13000, 13000, true);
         args.out = exp2(args.inV, t);
     }
 
-    static public void computeNativeExpm1(GeneratedTestNativeExpm1.ArgumentsFloatFloat args, Target t) {
+    static public void computeNativeExpm1(TestNativeExpm1.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(NATIVE_PRECISION, NATIVE_PRECISION, true);
         args.out = expm1(args.inV, t);
     }
 
-    static public void computeNativeHypot(GeneratedTestNativeHypot.ArgumentsFloatFloatFloat args, Target t) {
+    static public void computeNativeHypot(TestNativeHypot.ArgumentsFloatFloatFloat args, Target t) {
         t.setPrecision(NATIVE_PRECISION, NATIVE_PRECISION, true);
         args.out = hypot(args.inA, args.inB, t);
     }
 
-    static public void computeNativeLength(GeneratedTestNativeLength.ArgumentsFloatFloat args, Target t) {
+    static public void computeNativeLength(TestNativeLength.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(NATIVE_PRECISION, NATIVE_PRECISION, true);
         args.out = length(new float[] {args.inV}, t);
     }
 
-    static public void computeNativeLength(GeneratedTestNativeLength.ArgumentsFloatNFloat args, Target t) {
+    static public void computeNativeLength(TestNativeLength.ArgumentsFloatNFloat args, Target t) {
         t.setPrecision(NATIVE_PRECISION, NATIVE_PRECISION, true);
         args.out = length(args.inV, t);
     }
 
-    static public void computeNativeLog(GeneratedTestNativeLog.ArgumentsFloatFloat args, Target t) {
+    static public void computeNativeLog(TestNativeLog.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(NATIVE_PRECISION, NATIVE_PRECISION, true);
         // For very small values, allow anything.
         if (Math.abs(args.inV) < 1.e-20) {
@@ -1647,7 +1647,7 @@
         }
     }
 
-    static public void computeNativeLog10(GeneratedTestNativeLog10.ArgumentsFloatFloat args, Target t) {
+    static public void computeNativeLog10(TestNativeLog10.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(NATIVE_PRECISION, NATIVE_PRECISION, true);
         // For very small values, allow anything.
         if (Math.abs(args.inV) < 1.e-20) {
@@ -1657,12 +1657,12 @@
         }
     }
 
-    static public void computeNativeLog1p(GeneratedTestNativeLog1p.ArgumentsFloatFloat args, Target t) {
+    static public void computeNativeLog1p(TestNativeLog1p.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(NATIVE_PRECISION, NATIVE_PRECISION, true);
         args.out = log1p(args.inV, t);
     }
 
-    static public void computeNativeLog2(GeneratedTestNativeLog2.ArgumentsFloatFloat args, Target t) {
+    static public void computeNativeLog2(TestNativeLog2.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(NATIVE_PRECISION, NATIVE_PRECISION, true);
         // For very small values, allow anything.
         if (Math.abs(args.inV) < 1.e-20) {
@@ -1672,19 +1672,19 @@
         }
     }
 
-    static public void computeNativeNormalize(GeneratedTestNativeNormalize.ArgumentsFloatFloat args, Target t) {
+    static public void computeNativeNormalize(TestNativeNormalize.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(NATIVE_PRECISION, NATIVE_PRECISION, true);
         Target.Floaty[] out = new Target.Floaty[1];
         normalize(new float[] {args.inV}, out, t);
         args.out = out[0];
     }
 
-    static public void computeNativeNormalize(GeneratedTestNativeNormalize.ArgumentsFloatNFloatN args, Target t) {
+    static public void computeNativeNormalize(TestNativeNormalize.ArgumentsFloatNFloatN args, Target t) {
         t.setPrecision(NATIVE_PRECISION, NATIVE_PRECISION, true);
         normalize(args.inV, args.out, t);
     }
 
-    static public void computeNativePowr(GeneratedTestNativePowr.ArgumentsFloatFloatFloat args, Target t) {
+    static public void computeNativePowr(TestNativePowr.ArgumentsFloatFloatFloat args, Target t) {
         // TODO we would like to use NATIVE_PRECISION, NATIVE_PRECISION
         t.setPrecision(32000, 32000, true);
         // For very small values, allow anything.
@@ -1695,12 +1695,12 @@
         }
     }
 
-    static public void computeNativeRecip(GeneratedTestNativeRecip.ArgumentsFloatFloat args, Target t) {
+    static public void computeNativeRecip(TestNativeRecip.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(NATIVE_PRECISION, NATIVE_PRECISION, true);
         args.out = recip(args.inV, t);
     }
 
-    static public void computeNativeRootn(GeneratedTestNativeRootn.ArgumentsFloatIntFloat args, Target t) {
+    static public void computeNativeRootn(TestNativeRootn.ArgumentsFloatIntFloat args, Target t) {
         t.setPrecision(NATIVE_PRECISION, NATIVE_PRECISION, true);
         // Allow anything for zero.
         if (args.inN == 0) {
@@ -1710,70 +1710,70 @@
         }
     }
 
-    static public void computeNativeRsqrt(GeneratedTestNativeRsqrt.ArgumentsFloatFloat args, Target t) {
+    static public void computeNativeRsqrt(TestNativeRsqrt.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(NATIVE_PRECISION, NATIVE_PRECISION, true);
         args.out = rsqrt(args.inV, t);
     }
 
-    static public void computeNativeSin(GeneratedTestNativeSin.ArgumentsFloatFloat args, Target t) {
+    static public void computeNativeSin(TestNativeSin.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(NATIVE_PRECISION, NATIVE_PRECISION, true);
         args.out = sin(args.inV, t);
     }
 
-    static public void computeNativeSincos(GeneratedTestNativeSincos.ArgumentsFloatFloatFloat args, Target t) {
+    static public void computeNativeSincos(TestNativeSincos.ArgumentsFloatFloatFloat args, Target t) {
         t.setPrecision(NATIVE_PRECISION, NATIVE_PRECISION, true);
         args.outCos = cos(args.inV, t);
         args.out = sin(args.inV, t);
     }
 
-    static public void computeNativeSinh(GeneratedTestNativeSinh.ArgumentsFloatFloat args, Target t) {
+    static public void computeNativeSinh(TestNativeSinh.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(NATIVE_PRECISION, NATIVE_PRECISION, true);
         args.out = sinh(args.inV, t);
     }
 
-    static public void computeNativeSinpi(GeneratedTestNativeSinpi.ArgumentsFloatFloat args, Target t) {
+    static public void computeNativeSinpi(TestNativeSinpi.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(NATIVE_PRECISION, NATIVE_PRECISION, true);
         args.out = sinpi(args.inV, t);
     }
 
-    static public void computeNativeSqrt(GeneratedTestNativeSqrt.ArgumentsFloatFloat args, Target t) {
+    static public void computeNativeSqrt(TestNativeSqrt.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(NATIVE_PRECISION, NATIVE_PRECISION, true);
         args.out = sqrt(args.inV, t);
     }
 
-    static public void computeNativeTan(GeneratedTestNativeTan.ArgumentsFloatFloat args, Target t) {
+    static public void computeNativeTan(TestNativeTan.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(NATIVE_PRECISION, NATIVE_PRECISION, true);
         args.out = tan(args.inV, t);
     }
 
-    static public void computeNativeTanh(GeneratedTestNativeTanh.ArgumentsFloatFloat args, Target t) {
+    static public void computeNativeTanh(TestNativeTanh.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(NATIVE_PRECISION, NATIVE_PRECISION, true);
         args.out = tanh(args.inV, t);
     }
 
-    static public void computeNativeTanpi(GeneratedTestNativeTanpi.ArgumentsFloatFloat args, Target t) {
+    static public void computeNativeTanpi(TestNativeTanpi.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(NATIVE_PRECISION, NATIVE_PRECISION, true);
         args.out = tanpi(args.inV, t);
     }
 
-    static public void computeNextafter(GeneratedTestNextafter.ArgumentsFloatFloatFloat args, Target t) {
+    static public void computeNextafter(TestNextafter.ArgumentsFloatFloatFloat args, Target t) {
         t.setPrecision(0, 0, false);
         args.out = t.new32(Math.nextAfter(args.inV, args.inTarget));
     }
 
-    static public void computeNormalize(GeneratedTestNormalize.ArgumentsFloatFloat args, Target t) {
+    static public void computeNormalize(TestNormalize.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(1, 1, false);
         Target.Floaty[] out = new Target.Floaty[1];
         normalize(new float[] {args.inV}, out, t);
         args.out = out[0];
     }
 
-    static public void computeNormalize(GeneratedTestNormalize.ArgumentsFloatNFloatN args, Target t) {
+    static public void computeNormalize(TestNormalize.ArgumentsFloatNFloatN args, Target t) {
         t.setPrecision(1, 1, false);
         normalize(args.inV, args.out, t);
     }
 
-    static public void computePow(GeneratedTestPow.ArgumentsFloatFloatFloat args, Target t) {
+    static public void computePow(TestPow.ArgumentsFloatFloatFloat args, Target t) {
         t.setPrecision(16, 128, false);
         Target.Floaty base = t.new32(args.inBase);
         Target.Floaty exponent = t.new32(args.inExponent);
@@ -1785,7 +1785,7 @@
             pow(base.max32(), exponent.max32()));
     }
 
-    static public void computePown(GeneratedTestPown.ArgumentsFloatIntFloat args, Target t) {
+    static public void computePown(TestPown.ArgumentsFloatIntFloat args, Target t) {
         t.setPrecision(16, 128, false);
         Target.Floaty in = t.new32(args.inBase);
         // We use double for the calculations because floats does not have enough
@@ -1798,25 +1798,25 @@
             (float) Math.pow(in.max32(), y));
     }
 
-    static public void computePowr(GeneratedTestPowr.ArgumentsFloatFloatFloat args, Target t) {
+    static public void computePowr(TestPowr.ArgumentsFloatFloatFloat args, Target t) {
         t.setPrecision(16, 128, false);
         args.out = powr(args.inBase, args.inExponent, t);
     }
 
-    static public void computeRadians(GeneratedTestRadians.ArgumentsFloatFloat args, Target t) {
+    static public void computeRadians(TestRadians.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(3, 3, false);
         Target.Floaty in = t.new32(args.inV);
         Target.Floaty k = t.new32((float)(Math.PI / 180.0));
         args.out = t.multiply(in, k);
     }
 
-    static public void computeRemainder(GeneratedTestRemainder.ArgumentsFloatFloatFloat args, Target t) {
+    static public void computeRemainder(TestRemainder.ArgumentsFloatFloatFloat args, Target t) {
         t.setPrecision(0, 0, false);
         RemquoResult result = remquo(args.inNumerator, args.inDenominator);
         args.out = t.new32(result.remainder);
     }
 
-    static public String verifyRemquo(GeneratedTestRemquo.ArgumentsFloatFloatIntFloat args, Target t) {
+    static public String verifyRemquo(TestRemquo.ArgumentsFloatFloatIntFloat args, Target t) {
         t.setPrecision(0, 0, false);
         RemquoResult expected = remquo(args.inNumerator, args.inDenominator);
         // If the expected remainder is NaN, we don't validate the quotient.  It's because of
@@ -1843,7 +1843,7 @@
         return null;
     }
 
-    static public void computeRint(GeneratedTestRint.ArgumentsFloatFloat args, Target t) {
+    static public void computeRint(TestRint.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(0, 0, false);
         Target.Floaty in = t.new32(args.inV);
         args.out = t.new32(
@@ -1852,12 +1852,12 @@
             rint(in.max32()));
     }
 
-    static public void computeRootn(GeneratedTestRootn.ArgumentsFloatIntFloat args, Target t) {
+    static public void computeRootn(TestRootn.ArgumentsFloatIntFloat args, Target t) {
         t.setPrecision(16, 16, false);
         args.out = rootn(args.inV, args.inN, t);
     }
 
-    static public void computeRound(GeneratedTestRound.ArgumentsFloatFloat args, Target t) {
+    static public void computeRound(TestRound.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(0, 0, false);
         Target.Floaty in = t.new32(args.inV);
         args.out = t.new32(
@@ -1866,63 +1866,63 @@
             round(in.max32()));
     }
 
-    static public void computeRsqrt(GeneratedTestRsqrt.ArgumentsFloatFloat args, Target t) {
+    static public void computeRsqrt(TestRsqrt.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(2, 2, false);
         args.out = rsqrt(args.inV, t);
     }
 
-    static public void computeSign(GeneratedTestSign.ArgumentsFloatFloat args, Target t) {
+    static public void computeSign(TestSign.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(0, 0, false);
         args.out = t.new32(Math.signum(args.inV));
     }
 
-    static public void computeSin(GeneratedTestSin.ArgumentsFloatFloat args, Target t) {
+    static public void computeSin(TestSin.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(4, 128, false);
         args.out = sin(args.inV, t);
     }
 
-    static public void computeSincos(GeneratedTestSincos.ArgumentsFloatFloatFloat args, Target t) {
+    static public void computeSincos(TestSincos.ArgumentsFloatFloatFloat args, Target t) {
         t.setPrecision(4, 128, false);
         args.outCos = cos(args.inV,t );
         args.out = sin(args.inV, t);
     }
 
-    static public void computeSinh(GeneratedTestSinh.ArgumentsFloatFloat args, Target t) {
+    static public void computeSinh(TestSinh.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(4, 128, false);
         args.out = sinh(args.inV, t);
     }
 
-    static public void computeSinpi(GeneratedTestSinpi.ArgumentsFloatFloat args, Target t) {
+    static public void computeSinpi(TestSinpi.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(4, 128, false);
         args.out = sinpi(args.inV, t);
     }
 
-    static public void computeSqrt(GeneratedTestSqrt.ArgumentsFloatFloat args, Target t) {
+    static public void computeSqrt(TestSqrt.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(3, 3, false);
         args.out = sqrt(args.inV, t);
     }
 
-    static public void computeStep(GeneratedTestStep.ArgumentsFloatFloatFloat args, Target t) {
+    static public void computeStep(TestStep.ArgumentsFloatFloatFloat args, Target t) {
         t.setPrecision(0, 0, false);
         args.out = t.new32(args.inV < args.inEdge ? 0.f : 1.f);
     }
 
-    static public void computeTan(GeneratedTestTan.ArgumentsFloatFloat args, Target t) {
+    static public void computeTan(TestTan.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(5, 128, false);
         args.out = tan(args.inV, t);
     }
 
-    static public void computeTanh(GeneratedTestTanh.ArgumentsFloatFloat args, Target t) {
+    static public void computeTanh(TestTanh.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(5, 128, false);
         args.out = tanh(args.inV, t);
     }
 
-    static public void computeTanpi(GeneratedTestTanpi.ArgumentsFloatFloat args, Target t) {
+    static public void computeTanpi(TestTanpi.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(4, 128, false);
         args.out = tanpi(args.inV, t);
     }
 
-    static public void computeTgamma(GeneratedTestTgamma.ArgumentsFloatFloat args, Target t) {
+    static public void computeTgamma(TestTgamma.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(16, 128, false);
         Target.Floaty in = t.new32(args.inV);
         args.out = t.new32(
@@ -1931,7 +1931,7 @@
             tgamma(in.max32()));
     }
 
-    static public void computeTrunc(GeneratedTestTrunc.ArgumentsFloatFloat args, Target t) {
+    static public void computeTrunc(TestTrunc.ArgumentsFloatFloat args, Target t) {
         t.setPrecision(0, 0, false);
         Target.Floaty in = t.new32(args.inV);
         args.out = t.new32(
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/DebugContext.java b/tests/tests/renderscript/src/android/renderscript/cts/DebugContext.java
index f82feb1..50a3560 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/DebugContext.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/DebugContext.java
@@ -58,7 +58,8 @@
      * Test whether we are detect out-of-bounds allocation accesses
      * from an invokable.
      */
-    public void testDebugContextI() {
+    // TODO Temporarily disable the test.
+    public void dontTestDebugContextI() {
         setupDebugContext();
         Soob.invoke_write_i(7, 1);  // Write to invalid location.
         for (int i = 0; i < 100; i++) {
@@ -79,7 +80,8 @@
      * Test whether we are detect out-of-bounds allocation accesses
      * from a kernel.
      */
-    public void testDebugContextK() {
+    // TODO Temporarily disable the test.
+    public void dontTestDebugContextK() {
         setupDebugContext();
         Soob.forEach_write_k(AUnused);  // Write to invalid location.
         for (int i = 0; i < 100; i++) {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAbsRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAbsRelaxed.rs
deleted file mode 100644
index 4016723..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAbsRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestAbs.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAcosRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAcosRelaxed.rs
deleted file mode 100644
index 9413bea8..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAcosRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestAcos.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAcoshRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAcoshRelaxed.rs
deleted file mode 100644
index bf34014..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAcoshRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestAcosh.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAcospiRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAcospiRelaxed.rs
deleted file mode 100644
index f894336..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAcospiRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestAcospi.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAsinRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAsinRelaxed.rs
deleted file mode 100644
index 99362a8..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAsinRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestAsin.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAsinhRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAsinhRelaxed.rs
deleted file mode 100644
index 487e710..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAsinhRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestAsinh.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAsinpiRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAsinpiRelaxed.rs
deleted file mode 100644
index 591d9cd..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAsinpiRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestAsinpi.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAtan2Relaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAtan2Relaxed.rs
deleted file mode 100644
index a5fe0ce..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAtan2Relaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestAtan2.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAtan2piRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAtan2piRelaxed.rs
deleted file mode 100644
index 7c83f66..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAtan2piRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestAtan2pi.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAtanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAtanRelaxed.rs
deleted file mode 100644
index 68821a4..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAtanRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestAtan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAtanhRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAtanhRelaxed.rs
deleted file mode 100644
index 2548366..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAtanhRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestAtanh.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAtanpiRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAtanpiRelaxed.rs
deleted file mode 100644
index 07fcdca..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAtanpiRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestAtanpi.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestCbrtRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestCbrtRelaxed.rs
deleted file mode 100644
index b0ffe69..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestCbrtRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestCbrt.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestCeilRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestCeilRelaxed.rs
deleted file mode 100644
index 960c17b..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestCeilRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestCeil.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestClampRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestClampRelaxed.rs
deleted file mode 100644
index ff33381..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestClampRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestClamp.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestClzRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestClzRelaxed.rs
deleted file mode 100644
index 73df33a..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestClzRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestClz.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestConvertRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestConvertRelaxed.rs
deleted file mode 100644
index fa063c7..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestConvertRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestConvert.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestCopysignRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestCopysignRelaxed.rs
deleted file mode 100644
index cc6b1ac..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestCopysignRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestCopysign.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestCosRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestCosRelaxed.rs
deleted file mode 100644
index 8eb98bf..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestCosRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestCos.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestCoshRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestCoshRelaxed.rs
deleted file mode 100644
index 122308e..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestCoshRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestCosh.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestCospiRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestCospiRelaxed.rs
deleted file mode 100644
index ba1cf13..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestCospiRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestCospi.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestCrossRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestCrossRelaxed.rs
deleted file mode 100644
index e5f4e63..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestCrossRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestCross.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestDegreesRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestDegreesRelaxed.rs
deleted file mode 100644
index 3ac3eab..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestDegreesRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestDegrees.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestDistanceRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestDistanceRelaxed.rs
deleted file mode 100644
index d3717d4..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestDistanceRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestDistance.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestDotRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestDotRelaxed.rs
deleted file mode 100644
index d9dd162..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestDotRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestDot.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestErfRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestErfRelaxed.rs
deleted file mode 100644
index 680cdb9..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestErfRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestErf.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestErfcRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestErfcRelaxed.rs
deleted file mode 100644
index 5e54893..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestErfcRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestErfc.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestExp10Relaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestExp10Relaxed.rs
deleted file mode 100644
index e49cce5..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestExp10Relaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestExp10.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestExp2Relaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestExp2Relaxed.rs
deleted file mode 100644
index db56a96..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestExp2Relaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestExp2.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestExpRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestExpRelaxed.rs
deleted file mode 100644
index 1e8fd5f..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestExpRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestExp.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestExpm1Relaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestExpm1Relaxed.rs
deleted file mode 100644
index f0edb36..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestExpm1Relaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestExpm1.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFastDistanceRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFastDistanceRelaxed.rs
deleted file mode 100644
index 1242cbf..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFastDistanceRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestFastDistance.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFastLengthRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFastLengthRelaxed.rs
deleted file mode 100644
index 47dd33e..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFastLengthRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestFastLength.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFastNormalizeRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFastNormalizeRelaxed.rs
deleted file mode 100644
index 79cd071..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFastNormalizeRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestFastNormalize.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFdimRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFdimRelaxed.rs
deleted file mode 100644
index 7fa0a36..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFdimRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestFdim.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFloorRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFloorRelaxed.rs
deleted file mode 100644
index 755218d..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFloorRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestFloor.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFmaRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFmaRelaxed.rs
deleted file mode 100644
index f1598a4..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFmaRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestFma.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFmaxRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFmaxRelaxed.rs
deleted file mode 100644
index 05b4ce9..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFmaxRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestFmax.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFminRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFminRelaxed.rs
deleted file mode 100644
index d498d0c..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFminRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestFmin.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFmodRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFmodRelaxed.rs
deleted file mode 100644
index b4e197b..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFmodRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestFmod.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFractRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFractRelaxed.rs
deleted file mode 100644
index 6660366..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFractRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestFract.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFrexpRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFrexpRelaxed.rs
deleted file mode 100644
index 0655077..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFrexpRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestFrexp.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestHalfRecipRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestHalfRecipRelaxed.rs
deleted file mode 100644
index 3278236..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestHalfRecipRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestHalfRecip.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestHalfRsqrtRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestHalfRsqrtRelaxed.rs
deleted file mode 100644
index d2fd430..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestHalfRsqrtRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestHalfRsqrt.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestHalfSqrtRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestHalfSqrtRelaxed.rs
deleted file mode 100644
index b3dd234..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestHalfSqrtRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestHalfSqrt.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestHypotRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestHypotRelaxed.rs
deleted file mode 100644
index c026536..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestHypotRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestHypot.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestIlogbRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestIlogbRelaxed.rs
deleted file mode 100644
index 4b1ea2d..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestIlogbRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestIlogb.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLdexpRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLdexpRelaxed.rs
deleted file mode 100644
index 86d0ee0..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLdexpRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestLdexp.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLengthRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLengthRelaxed.rs
deleted file mode 100644
index 7036a69..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLengthRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestLength.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLgammaRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLgammaRelaxed.rs
deleted file mode 100644
index 362c072..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLgammaRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestLgamma.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLog10Relaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLog10Relaxed.rs
deleted file mode 100644
index 7529f68..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLog10Relaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestLog10.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLog1pRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLog1pRelaxed.rs
deleted file mode 100644
index 6afe105..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLog1pRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestLog1p.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLog2Relaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLog2Relaxed.rs
deleted file mode 100644
index 6caa3a0..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLog2Relaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestLog2.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLogRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLogRelaxed.rs
deleted file mode 100644
index f749edf..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLogRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestLog.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLogbRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLogbRelaxed.rs
deleted file mode 100644
index 6acab70..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLogbRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestLogb.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestMadRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestMadRelaxed.rs
deleted file mode 100644
index 17bd9ea..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestMadRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestMad.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestMaxRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestMaxRelaxed.rs
deleted file mode 100644
index 2f229a5..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestMaxRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestMax.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestMinRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestMinRelaxed.rs
deleted file mode 100644
index 1481223..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestMinRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestMin.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestMixRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestMixRelaxed.rs
deleted file mode 100644
index 5a49fa6..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestMixRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestMix.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestModfRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestModfRelaxed.rs
deleted file mode 100644
index 84fb128..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestModfRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestModf.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAcosRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAcosRelaxed.rs
deleted file mode 100644
index 76ec4ce..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAcosRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestNativeAcos.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAcoshRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAcoshRelaxed.rs
deleted file mode 100644
index e31d1e1..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAcoshRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestNativeAcosh.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAcospiRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAcospiRelaxed.rs
deleted file mode 100644
index bfe1714..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAcospiRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestNativeAcospi.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAsinRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAsinRelaxed.rs
deleted file mode 100644
index 9b2fb90..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAsinRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestNativeAsin.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAsinhRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAsinhRelaxed.rs
deleted file mode 100644
index 746f0ce..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAsinhRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestNativeAsinh.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAsinpiRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAsinpiRelaxed.rs
deleted file mode 100644
index fdd04f9..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAsinpiRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestNativeAsinpi.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAtan2Relaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAtan2Relaxed.rs
deleted file mode 100644
index b70ad87..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAtan2Relaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestNativeAtan2.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAtan2piRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAtan2piRelaxed.rs
deleted file mode 100644
index 4cd22fc..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAtan2piRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestNativeAtan2pi.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAtanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAtanRelaxed.rs
deleted file mode 100644
index c77ea39..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAtanRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestNativeAtan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAtanhRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAtanhRelaxed.rs
deleted file mode 100644
index e2c00fc..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAtanhRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestNativeAtanh.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAtanpiRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAtanpiRelaxed.rs
deleted file mode 100644
index e32d10f..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAtanpiRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestNativeAtanpi.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeCbrtRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeCbrtRelaxed.rs
deleted file mode 100644
index af4ede2..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeCbrtRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestNativeCbrt.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeCosRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeCosRelaxed.rs
deleted file mode 100644
index 7f74626..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeCosRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestNativeCos.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeCoshRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeCoshRelaxed.rs
deleted file mode 100644
index a12ce15..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeCoshRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestNativeCosh.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeCospiRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeCospiRelaxed.rs
deleted file mode 100644
index ff8b91e..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeCospiRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestNativeCospi.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeDistanceRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeDistanceRelaxed.rs
deleted file mode 100644
index 60c3aaf..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeDistanceRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestNativeDistance.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeDivideRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeDivideRelaxed.rs
deleted file mode 100644
index 6bb458d..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeDivideRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestNativeDivide.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeExp10Relaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeExp10Relaxed.rs
deleted file mode 100644
index fd63d34..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeExp10Relaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestNativeExp10.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeExp2Relaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeExp2Relaxed.rs
deleted file mode 100644
index 7eb5b32..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeExp2Relaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestNativeExp2.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeExpRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeExpRelaxed.rs
deleted file mode 100644
index ab965b2..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeExpRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestNativeExp.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeExpm1Relaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeExpm1Relaxed.rs
deleted file mode 100644
index cad0784..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeExpm1Relaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestNativeExpm1.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeHypotRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeHypotRelaxed.rs
deleted file mode 100644
index 5a97da6..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeHypotRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestNativeHypot.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeLengthRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeLengthRelaxed.rs
deleted file mode 100644
index 5cdca08..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeLengthRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestNativeLength.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeLog10Relaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeLog10Relaxed.rs
deleted file mode 100644
index 42408f9..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeLog10Relaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestNativeLog10.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeLog1pRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeLog1pRelaxed.rs
deleted file mode 100644
index 96ba4e0..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeLog1pRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestNativeLog1p.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeLog2Relaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeLog2Relaxed.rs
deleted file mode 100644
index c51cf21..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeLog2Relaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestNativeLog2.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeLogRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeLogRelaxed.rs
deleted file mode 100644
index 8e631be..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeLogRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestNativeLog.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeNormalizeRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeNormalizeRelaxed.rs
deleted file mode 100644
index 6036573..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeNormalizeRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestNativeNormalize.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativePowrRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativePowrRelaxed.rs
deleted file mode 100644
index 216df7c..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativePowrRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestNativePowr.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeRecipRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeRecipRelaxed.rs
deleted file mode 100644
index 3dac525..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeRecipRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestNativeRecip.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeRootnRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeRootnRelaxed.rs
deleted file mode 100644
index 74c32dc..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeRootnRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestNativeRootn.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeRsqrtRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeRsqrtRelaxed.rs
deleted file mode 100644
index 9c61597..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeRsqrtRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestNativeRsqrt.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeSinRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeSinRelaxed.rs
deleted file mode 100644
index 3db631d..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeSinRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestNativeSin.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeSincosRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeSincosRelaxed.rs
deleted file mode 100644
index 023df70..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeSincosRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestNativeSincos.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeSinhRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeSinhRelaxed.rs
deleted file mode 100644
index 2ae33f7..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeSinhRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestNativeSinh.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeSinpiRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeSinpiRelaxed.rs
deleted file mode 100644
index dd92483d..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeSinpiRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestNativeSinpi.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeSqrtRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeSqrtRelaxed.rs
deleted file mode 100644
index 4797071..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeSqrtRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestNativeSqrt.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeTanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeTanRelaxed.rs
deleted file mode 100644
index a8533b4..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeTanRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestNativeTan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeTanhRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeTanhRelaxed.rs
deleted file mode 100644
index cde0396..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeTanhRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestNativeTanh.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNextafterRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNextafterRelaxed.rs
deleted file mode 100644
index 12f07f5..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNextafterRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestNextafter.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNormalizeRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNormalizeRelaxed.rs
deleted file mode 100644
index 283fdb5..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNormalizeRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestNormalize.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestPowRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestPowRelaxed.rs
deleted file mode 100644
index e95f00d..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestPowRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestPow.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestPownRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestPownRelaxed.rs
deleted file mode 100644
index fd8255f..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestPownRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestPown.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestPowrRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestPowrRelaxed.rs
deleted file mode 100644
index 8c2d3ac..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestPowrRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestPowr.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestRadiansRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestRadiansRelaxed.rs
deleted file mode 100644
index 8ed4122..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestRadiansRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestRadians.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestRemainderRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestRemainderRelaxed.rs
deleted file mode 100644
index 33c5ca2..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestRemainderRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestRemainder.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestRemquoRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestRemquoRelaxed.rs
deleted file mode 100644
index 85fc974..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestRemquoRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestRemquo.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestRintRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestRintRelaxed.rs
deleted file mode 100644
index d9e2f89..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestRintRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestRint.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestRootnRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestRootnRelaxed.rs
deleted file mode 100644
index 50c77e4..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestRootnRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestRootn.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestRoundRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestRoundRelaxed.rs
deleted file mode 100644
index e15d81a..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestRoundRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestRound.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestRsqrtRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestRsqrtRelaxed.rs
deleted file mode 100644
index a709839..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestRsqrtRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestRsqrt.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestSignRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestSignRelaxed.rs
deleted file mode 100644
index 96293d2..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestSignRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestSign.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestSinRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestSinRelaxed.rs
deleted file mode 100644
index ef09f8c..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestSinRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestSin.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestSincosRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestSincosRelaxed.rs
deleted file mode 100644
index ab3359b..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestSincosRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestSincos.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestSinhRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestSinhRelaxed.rs
deleted file mode 100644
index 31ca12b..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestSinhRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestSinh.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestSinpiRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestSinpiRelaxed.rs
deleted file mode 100644
index 9745638..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestSinpiRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestSinpi.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestSqrtRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestSqrtRelaxed.rs
deleted file mode 100644
index 9bb61e5..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestSqrtRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestSqrt.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestStepRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestStepRelaxed.rs
deleted file mode 100644
index 20c4adb..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestStepRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestStep.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestTanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestTanRelaxed.rs
deleted file mode 100644
index 00374ce..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestTanRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestTan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestTanhRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestTanhRelaxed.rs
deleted file mode 100644
index 37bd435..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestTanhRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestTanh.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestTanpiRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestTanpiRelaxed.rs
deleted file mode 100644
index a7e3df5..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestTanpiRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestTanpi.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestTgammaRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestTgammaRelaxed.rs
deleted file mode 100644
index 8f5d63b..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestTgammaRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestTgamma.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestTruncRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestTruncRelaxed.rs
deleted file mode 100644
index eb18613..0000000
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestTruncRelaxed.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "GeneratedTestTrunc.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestGetSet.java b/tests/tests/renderscript/src/android/renderscript/cts/GetSetTest.java
similarity index 99%
rename from tests/tests/renderscript/src/android/renderscript/cts/TestGetSet.java
rename to tests/tests/renderscript/src/android/renderscript/cts/GetSetTest.java
index d11de84..9607923 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestGetSet.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/GetSetTest.java
@@ -19,7 +19,7 @@
 
 import android.renderscript.*;
 
-public class TestGetSet extends RSBaseCompute {
+public class GetSetTest extends RSBaseCompute {
 
     private ScriptC_getset script;
     private ScriptC_getset_relaxed scriptRelaxed;
@@ -1081,4 +1081,3 @@
 
 
 }
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/IntrinsicResize.java b/tests/tests/renderscript/src/android/renderscript/cts/IntrinsicResize.java
index 9028c37..24e56d7 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/IntrinsicResize.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/IntrinsicResize.java
@@ -85,8 +85,10 @@
         }
 
 
+        mVerify.set_gAllowedIntError(1);
         mVerify.invoke_verify(mAllocRef, mAllocDst, mAllocSrc);
         if (outW == w && outH == h) {
+            mVerify.set_gAllowedIntError(0);
             //when scale = 1, check with the original.
             mVerify.invoke_verify(mAllocRef, mAllocSrc, mAllocSrc);
             mVerify.invoke_verify(mAllocDst, mAllocSrc, mAllocSrc);
@@ -230,7 +232,7 @@
         testReszie(inX, inY, Element.DataType.UNSIGNED_8, 1, 0.5f, 2.f);
         checkError();
     }
-    
+
     public void test_U8_4_SCALE20_05_inRectangle() {
         testReszie(inX, inY, Element.DataType.UNSIGNED_8, 4, 2.f, 0.5f);
         checkError();
@@ -247,7 +249,7 @@
         testReszie(inX, inY, Element.DataType.UNSIGNED_8, 1, 2.f, 0.5f);
         checkError();
     }
-    
+
     public void test_U8_4_SCALE05_05_inRectangle() {
         testReszie(inX, inY, Element.DataType.UNSIGNED_8, 4, 0.5f, 0.5f);
         checkError();
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/RSBaseCompute.java b/tests/tests/renderscript/src/android/renderscript/cts/RSBaseCompute.java
index 0413f22..413b2d4 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/RSBaseCompute.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/RSBaseCompute.java
@@ -388,4 +388,22 @@
     public void forEach(int testId, Allocation mIn) throws RSRuntimeException {
         // Intentionally empty... subclass will likely define only one, but not both
     }
+
+    protected void appendVariableToMessage(StringBuilder message, int value) {
+        message.append(String.format("%d {%x}", value, value));
+    }
+
+    protected void appendVariableToMessage(StringBuilder message, float value) {
+        message.append(String.format("%14.8g {%8x} %15a", value,
+                        Float.floatToRawIntBits(value), value));
+    }
+
+    protected void appendVariableToMessage(StringBuilder message, double value) {
+        message.append(String.format("%24.8g {%16x} %31a", value,
+                        Double.doubleToRawLongBits(value), value));
+    }
+
+    protected void appendVariableToMessage(StringBuilder message, Target.Floaty value) {
+        message.append(value.toString());
+    }
 }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestVLoad.java b/tests/tests/renderscript/src/android/renderscript/cts/VLoadTest.java
similarity index 99%
rename from tests/tests/renderscript/src/android/renderscript/cts/TestVLoad.java
rename to tests/tests/renderscript/src/android/renderscript/cts/VLoadTest.java
index a2d22d9..0b30bde 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestVLoad.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/VLoadTest.java
@@ -19,7 +19,7 @@
 
 import android.renderscript.*;
 
-public class TestVLoad extends RSBaseCompute {
+public class VLoadTest extends RSBaseCompute {
 
     private ScriptC_vload script;
     private ScriptC_vload_relaxed scriptRelaxed;
@@ -368,4 +368,3 @@
     }
 
 }
-
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAbs.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAbs.java
similarity index 91%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAbs.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestAbs.java
index 05acb35..91fe3c8 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAbs.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAbs.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestAbs extends RSBaseCompute {
+public class TestAbs extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestAbs script;
-    private ScriptC_GeneratedTestAbsRelaxed scriptRelaxed;
+    private ScriptC_TestAbs script;
+    private ScriptC_TestAbsRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestAbs(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestAbsRelaxed(mRS);
+        script = new ScriptC_TestAbs(mRS);
+        scriptRelaxed = new ScriptC_TestAbsRelaxed(mRS);
     }
 
     public class ArgumentsCharUchar {
@@ -77,13 +77,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (args.out != arrayOut[i * 1 + j]) {
                         message.append(" FAIL");
                     }
@@ -133,13 +133,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -189,13 +189,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -245,13 +245,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -306,13 +306,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (args.out != arrayOut[i * 1 + j]) {
                         message.append(" FAIL");
                     }
@@ -362,13 +362,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -418,13 +418,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -474,13 +474,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -535,13 +535,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (args.out != arrayOut[i * 1 + j]) {
                         message.append(" FAIL");
                     }
@@ -591,13 +591,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -647,13 +647,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -703,13 +703,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAbs.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAbs.rs
similarity index 95%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAbs.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestAbs.rs
index 1a7fb31..918fa14 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAbs.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAbs.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 uchar __attribute__((kernel)) testAbsCharUchar(char inV) {
     return abs(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAbsRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestAbsRelaxed.rs
index 1760b34..f3672ab 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAbsRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestAbs.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAcos.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAcos.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAcos.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestAcos.java
index 3b6a199..e94111f 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAcos.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAcos.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestAcos extends RSBaseCompute {
+public class TestAcos extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestAcos script;
-    private ScriptC_GeneratedTestAcosRelaxed scriptRelaxed;
+    private ScriptC_TestAcos script;
+    private ScriptC_TestAcosRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestAcos(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestAcosRelaxed(mRS);
+        script = new ScriptC_TestAcos(mRS);
+        scriptRelaxed = new ScriptC_TestAcosRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAcos.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAcos.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAcos.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestAcos.rs
index ccf273e..fc21625 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAcos.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAcos.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testAcosFloatFloat(float inV) {
     return acos(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAcosRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestAcosRelaxed.rs
index 1760b34..e2d5dc9 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAcosRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestAcos.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAcosh.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAcosh.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAcosh.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestAcosh.java
index 192d5c0..a6b4df3 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAcosh.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAcosh.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestAcosh extends RSBaseCompute {
+public class TestAcosh extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestAcosh script;
-    private ScriptC_GeneratedTestAcoshRelaxed scriptRelaxed;
+    private ScriptC_TestAcosh script;
+    private ScriptC_TestAcoshRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestAcosh(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestAcoshRelaxed(mRS);
+        script = new ScriptC_TestAcosh(mRS);
+        scriptRelaxed = new ScriptC_TestAcoshRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAcosh.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAcosh.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAcosh.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestAcosh.rs
index 35c4c73..7f6330a 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAcosh.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAcosh.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testAcoshFloatFloat(float inV) {
     return acosh(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAcoshRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestAcoshRelaxed.rs
index 1760b34..4190d6e 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAcoshRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestAcosh.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAcospi.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAcospi.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAcospi.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestAcospi.java
index a06cce5..a61a0cb 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAcospi.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAcospi.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestAcospi extends RSBaseCompute {
+public class TestAcospi extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestAcospi script;
-    private ScriptC_GeneratedTestAcospiRelaxed scriptRelaxed;
+    private ScriptC_TestAcospi script;
+    private ScriptC_TestAcospiRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestAcospi(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestAcospiRelaxed(mRS);
+        script = new ScriptC_TestAcospi(mRS);
+        scriptRelaxed = new ScriptC_TestAcospiRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAcospi.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAcospi.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAcospi.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestAcospi.rs
index b29cff7..84d65b7 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAcospi.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAcospi.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testAcospiFloatFloat(float inV) {
     return acospi(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAcospiRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestAcospiRelaxed.rs
index 1760b34..c3d887e 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAcospiRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestAcospi.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAsin.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAsin.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAsin.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestAsin.java
index e69f912..c79a480 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAsin.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAsin.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestAsin extends RSBaseCompute {
+public class TestAsin extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestAsin script;
-    private ScriptC_GeneratedTestAsinRelaxed scriptRelaxed;
+    private ScriptC_TestAsin script;
+    private ScriptC_TestAsinRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestAsin(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestAsinRelaxed(mRS);
+        script = new ScriptC_TestAsin(mRS);
+        scriptRelaxed = new ScriptC_TestAsinRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAsin.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAsin.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAsin.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestAsin.rs
index 43e6940..59313a4 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAsin.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAsin.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testAsinFloatFloat(float inV) {
     return asin(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAsinRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestAsinRelaxed.rs
index 1760b34..6a08389 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAsinRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestAsin.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAsinh.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAsinh.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAsinh.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestAsinh.java
index def06e3..f646da0 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAsinh.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAsinh.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestAsinh extends RSBaseCompute {
+public class TestAsinh extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestAsinh script;
-    private ScriptC_GeneratedTestAsinhRelaxed scriptRelaxed;
+    private ScriptC_TestAsinh script;
+    private ScriptC_TestAsinhRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestAsinh(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestAsinhRelaxed(mRS);
+        script = new ScriptC_TestAsinh(mRS);
+        scriptRelaxed = new ScriptC_TestAsinhRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAsinh.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAsinh.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAsinh.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestAsinh.rs
index b7567db..5c6f6c20 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAsinh.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAsinh.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testAsinhFloatFloat(float inV) {
     return asinh(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAsinhRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestAsinhRelaxed.rs
index 1760b34..0d385ff 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAsinhRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestAsinh.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAsinpi.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAsinpi.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAsinpi.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestAsinpi.java
index 23dc9b89..e2cebbf 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAsinpi.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAsinpi.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestAsinpi extends RSBaseCompute {
+public class TestAsinpi extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestAsinpi script;
-    private ScriptC_GeneratedTestAsinpiRelaxed scriptRelaxed;
+    private ScriptC_TestAsinpi script;
+    private ScriptC_TestAsinpiRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestAsinpi(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestAsinpiRelaxed(mRS);
+        script = new ScriptC_TestAsinpi(mRS);
+        scriptRelaxed = new ScriptC_TestAsinpiRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAsinpi.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAsinpi.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAsinpi.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestAsinpi.rs
index 112f722..4bbbe13 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAsinpi.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAsinpi.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testAsinpiFloatFloat(float inV) {
     return asinpi(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAsinpiRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestAsinpiRelaxed.rs
index 1760b34..a0648dc 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAsinpiRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestAsinpi.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAtan.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtan.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAtan.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtan.java
index 4721017..f7e6642 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAtan.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtan.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestAtan extends RSBaseCompute {
+public class TestAtan extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestAtan script;
-    private ScriptC_GeneratedTestAtanRelaxed scriptRelaxed;
+    private ScriptC_TestAtan script;
+    private ScriptC_TestAtanRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestAtan(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestAtanRelaxed(mRS);
+        script = new ScriptC_TestAtan(mRS);
+        scriptRelaxed = new ScriptC_TestAtanRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAtan.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtan.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAtan.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtan.rs
index 36d3814..1b987fa 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAtan.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtan.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testAtanFloatFloat(float inV) {
     return atan(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAtan2.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtan2.java
similarity index 83%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAtan2.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtan2.java
index 37843e9..b817e34 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAtan2.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtan2.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestAtan2 extends RSBaseCompute {
+public class TestAtan2 extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestAtan2 script;
-    private ScriptC_GeneratedTestAtan2Relaxed scriptRelaxed;
+    private ScriptC_TestAtan2 script;
+    private ScriptC_TestAtan2Relaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestAtan2(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestAtan2Relaxed(mRS);
+        script = new ScriptC_TestAtan2(mRS);
+        scriptRelaxed = new ScriptC_TestAtan2Relaxed(mRS);
     }
 
     public class ArgumentsFloatFloatFloat {
@@ -85,19 +85,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inNumerator: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inNumerator, Float.floatToRawIntBits(args.inNumerator), args.inNumerator));
+                    appendVariableToMessage(message, args.inNumerator);
                     message.append("\n");
                     message.append("Input inDenominator: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inDenominator, Float.floatToRawIntBits(args.inDenominator), args.inDenominator));
+                    appendVariableToMessage(message, args.inDenominator);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -154,19 +151,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inNumerator: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inNumerator, Float.floatToRawIntBits(args.inNumerator), args.inNumerator));
+                    appendVariableToMessage(message, args.inNumerator);
                     message.append("\n");
                     message.append("Input inDenominator: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inDenominator, Float.floatToRawIntBits(args.inDenominator), args.inDenominator));
+                    appendVariableToMessage(message, args.inDenominator);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -223,19 +217,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inNumerator: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inNumerator, Float.floatToRawIntBits(args.inNumerator), args.inNumerator));
+                    appendVariableToMessage(message, args.inNumerator);
                     message.append("\n");
                     message.append("Input inDenominator: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inDenominator, Float.floatToRawIntBits(args.inDenominator), args.inDenominator));
+                    appendVariableToMessage(message, args.inDenominator);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -292,19 +283,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inNumerator: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inNumerator, Float.floatToRawIntBits(args.inNumerator), args.inNumerator));
+                    appendVariableToMessage(message, args.inNumerator);
                     message.append("\n");
                     message.append("Input inDenominator: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inDenominator, Float.floatToRawIntBits(args.inDenominator), args.inDenominator));
+                    appendVariableToMessage(message, args.inDenominator);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAtan2.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtan2.rs
similarity index 95%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAtan2.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtan2.rs
index e75ec89..19b2ed4 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAtan2.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtan2.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 rs_allocation gAllocInDenominator;
 
 float __attribute__((kernel)) testAtan2FloatFloatFloat(float inNumerator, unsigned int x) {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtan2Relaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtan2Relaxed.rs
index 1760b34..54e930b 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtan2Relaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestAtan2.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAtan2pi.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtan2pi.java
similarity index 83%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAtan2pi.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtan2pi.java
index 540eede..a1cb7e7 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAtan2pi.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtan2pi.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestAtan2pi extends RSBaseCompute {
+public class TestAtan2pi extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestAtan2pi script;
-    private ScriptC_GeneratedTestAtan2piRelaxed scriptRelaxed;
+    private ScriptC_TestAtan2pi script;
+    private ScriptC_TestAtan2piRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestAtan2pi(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestAtan2piRelaxed(mRS);
+        script = new ScriptC_TestAtan2pi(mRS);
+        scriptRelaxed = new ScriptC_TestAtan2piRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloatFloat {
@@ -85,19 +85,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inNumerator: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inNumerator, Float.floatToRawIntBits(args.inNumerator), args.inNumerator));
+                    appendVariableToMessage(message, args.inNumerator);
                     message.append("\n");
                     message.append("Input inDenominator: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inDenominator, Float.floatToRawIntBits(args.inDenominator), args.inDenominator));
+                    appendVariableToMessage(message, args.inDenominator);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -154,19 +151,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inNumerator: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inNumerator, Float.floatToRawIntBits(args.inNumerator), args.inNumerator));
+                    appendVariableToMessage(message, args.inNumerator);
                     message.append("\n");
                     message.append("Input inDenominator: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inDenominator, Float.floatToRawIntBits(args.inDenominator), args.inDenominator));
+                    appendVariableToMessage(message, args.inDenominator);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -223,19 +217,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inNumerator: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inNumerator, Float.floatToRawIntBits(args.inNumerator), args.inNumerator));
+                    appendVariableToMessage(message, args.inNumerator);
                     message.append("\n");
                     message.append("Input inDenominator: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inDenominator, Float.floatToRawIntBits(args.inDenominator), args.inDenominator));
+                    appendVariableToMessage(message, args.inDenominator);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -292,19 +283,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inNumerator: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inNumerator, Float.floatToRawIntBits(args.inNumerator), args.inNumerator));
+                    appendVariableToMessage(message, args.inNumerator);
                     message.append("\n");
                     message.append("Input inDenominator: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inDenominator, Float.floatToRawIntBits(args.inDenominator), args.inDenominator));
+                    appendVariableToMessage(message, args.inDenominator);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAtan2pi.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtan2pi.rs
similarity index 95%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAtan2pi.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtan2pi.rs
index 25064f9..14d11d9 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAtan2pi.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtan2pi.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 rs_allocation gAllocInDenominator;
 
 float __attribute__((kernel)) testAtan2piFloatFloatFloat(float inNumerator, unsigned int x) {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtan2piRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtan2piRelaxed.rs
index 1760b34..8682f5c 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtan2piRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestAtan2pi.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtanRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtanRelaxed.rs
index 1760b34..dce7eb4 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtanRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestAtan.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAtanh.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtanh.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAtanh.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtanh.java
index 266e4fe..fb4867c 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAtanh.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtanh.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestAtanh extends RSBaseCompute {
+public class TestAtanh extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestAtanh script;
-    private ScriptC_GeneratedTestAtanhRelaxed scriptRelaxed;
+    private ScriptC_TestAtanh script;
+    private ScriptC_TestAtanhRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestAtanh(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestAtanhRelaxed(mRS);
+        script = new ScriptC_TestAtanh(mRS);
+        scriptRelaxed = new ScriptC_TestAtanhRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAtanh.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtanh.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAtanh.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtanh.rs
index 081996c..06c11e9 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAtanh.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtanh.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testAtanhFloatFloat(float inV) {
     return atanh(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtanhRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtanhRelaxed.rs
index 1760b34..455c61b 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtanhRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestAtanh.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAtanpi.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtanpi.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAtanpi.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtanpi.java
index 97ad78603..12c3faf 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAtanpi.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtanpi.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestAtanpi extends RSBaseCompute {
+public class TestAtanpi extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestAtanpi script;
-    private ScriptC_GeneratedTestAtanpiRelaxed scriptRelaxed;
+    private ScriptC_TestAtanpi script;
+    private ScriptC_TestAtanpiRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestAtanpi(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestAtanpiRelaxed(mRS);
+        script = new ScriptC_TestAtanpi(mRS);
+        scriptRelaxed = new ScriptC_TestAtanpiRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAtanpi.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtanpi.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAtanpi.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtanpi.rs
index a1c6d2d7..501431a 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestAtanpi.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtanpi.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testAtanpiFloatFloat(float inV) {
     return atanpi(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtanpiRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtanpiRelaxed.rs
index 1760b34..16acf54 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtanpiRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestAtanpi.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestCbrt.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCbrt.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestCbrt.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestCbrt.java
index 337582d..d9028c8 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestCbrt.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCbrt.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestCbrt extends RSBaseCompute {
+public class TestCbrt extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestCbrt script;
-    private ScriptC_GeneratedTestCbrtRelaxed scriptRelaxed;
+    private ScriptC_TestCbrt script;
+    private ScriptC_TestCbrtRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestCbrt(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestCbrtRelaxed(mRS);
+        script = new ScriptC_TestCbrt(mRS);
+        scriptRelaxed = new ScriptC_TestCbrtRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestCbrt.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCbrt.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestCbrt.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestCbrt.rs
index 1544c27..a7ee6ee 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestCbrt.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCbrt.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testCbrtFloatFloat(float inV) {
     return cbrt(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCbrtRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestCbrtRelaxed.rs
index 1760b34..7e7f8bc 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCbrtRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestCbrt.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestCeil.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCeil.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestCeil.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestCeil.java
index f38345f..4edd811 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestCeil.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCeil.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestCeil extends RSBaseCompute {
+public class TestCeil extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestCeil script;
-    private ScriptC_GeneratedTestCeilRelaxed scriptRelaxed;
+    private ScriptC_TestCeil script;
+    private ScriptC_TestCeilRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestCeil(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestCeilRelaxed(mRS);
+        script = new ScriptC_TestCeil(mRS);
+        scriptRelaxed = new ScriptC_TestCeilRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestCeil.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCeil.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestCeil.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestCeil.rs
index 1bfba39..39a4c19 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestCeil.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCeil.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testCeilFloatFloat(float inV) {
     return ceil(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCeilRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestCeilRelaxed.rs
index 1760b34..90f2636 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCeilRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestCeil.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestClamp.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestClamp.java
similarity index 89%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestClamp.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestClamp.java
index c302a95..7ac17a9 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestClamp.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestClamp.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestClamp extends RSBaseCompute {
+public class TestClamp extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestClamp script;
-    private ScriptC_GeneratedTestClampRelaxed scriptRelaxed;
+    private ScriptC_TestClamp script;
+    private ScriptC_TestClampRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestClamp(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestClampRelaxed(mRS);
+        script = new ScriptC_TestClamp(mRS);
+        scriptRelaxed = new ScriptC_TestClampRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloatFloatFloat {
@@ -93,23 +93,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inValue, Float.floatToRawIntBits(args.inValue), args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Input inMinValue: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inMinValue, Float.floatToRawIntBits(args.inMinValue), args.inMinValue));
+                    appendVariableToMessage(message, args.inMinValue);
                     message.append("\n");
                     message.append("Input inMaxValue: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inMaxValue, Float.floatToRawIntBits(args.inMaxValue), args.inMaxValue));
+                    appendVariableToMessage(message, args.inMaxValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -173,23 +169,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inValue, Float.floatToRawIntBits(args.inValue), args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Input inMinValue: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inMinValue, Float.floatToRawIntBits(args.inMinValue), args.inMinValue));
+                    appendVariableToMessage(message, args.inMinValue);
                     message.append("\n");
                     message.append("Input inMaxValue: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inMaxValue, Float.floatToRawIntBits(args.inMaxValue), args.inMaxValue));
+                    appendVariableToMessage(message, args.inMaxValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -253,23 +245,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inValue, Float.floatToRawIntBits(args.inValue), args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Input inMinValue: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inMinValue, Float.floatToRawIntBits(args.inMinValue), args.inMinValue));
+                    appendVariableToMessage(message, args.inMinValue);
                     message.append("\n");
                     message.append("Input inMaxValue: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inMaxValue, Float.floatToRawIntBits(args.inMaxValue), args.inMaxValue));
+                    appendVariableToMessage(message, args.inMaxValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -333,23 +321,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inValue, Float.floatToRawIntBits(args.inValue), args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Input inMinValue: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inMinValue, Float.floatToRawIntBits(args.inMinValue), args.inMinValue));
+                    appendVariableToMessage(message, args.inMinValue);
                     message.append("\n");
                     message.append("Input inMaxValue: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inMaxValue, Float.floatToRawIntBits(args.inMaxValue), args.inMaxValue));
+                    appendVariableToMessage(message, args.inMaxValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -413,23 +397,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inValue, Float.floatToRawIntBits(args.inValue), args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Input inMinValue: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inMinValue, Float.floatToRawIntBits(args.inMinValue), args.inMinValue));
+                    appendVariableToMessage(message, args.inMinValue);
                     message.append("\n");
                     message.append("Input inMaxValue: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inMaxValue, Float.floatToRawIntBits(args.inMaxValue), args.inMaxValue));
+                    appendVariableToMessage(message, args.inMaxValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -493,23 +473,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inValue, Float.floatToRawIntBits(args.inValue), args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Input inMinValue: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inMinValue, Float.floatToRawIntBits(args.inMinValue), args.inMinValue));
+                    appendVariableToMessage(message, args.inMinValue);
                     message.append("\n");
                     message.append("Input inMaxValue: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inMaxValue, Float.floatToRawIntBits(args.inMaxValue), args.inMaxValue));
+                    appendVariableToMessage(message, args.inMaxValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -573,23 +549,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inValue, Float.floatToRawIntBits(args.inValue), args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Input inMinValue: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inMinValue, Float.floatToRawIntBits(args.inMinValue), args.inMinValue));
+                    appendVariableToMessage(message, args.inMinValue);
                     message.append("\n");
                     message.append("Input inMaxValue: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inMaxValue, Float.floatToRawIntBits(args.inMaxValue), args.inMaxValue));
+                    appendVariableToMessage(message, args.inMaxValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -659,19 +631,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("%d", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Input inMinValue: ");
-                    message.append(String.format("%d", args.inMinValue));
+                    appendVariableToMessage(message, args.inMinValue);
                     message.append("\n");
                     message.append("Input inMaxValue: ");
-                    message.append(String.format("%d", args.inMaxValue));
+                    appendVariableToMessage(message, args.inMaxValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (args.out != arrayOut[i * 1 + j]) {
                         message.append(" FAIL");
                     }
@@ -734,19 +706,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("%d", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Input inMinValue: ");
-                    message.append(String.format("%d", args.inMinValue));
+                    appendVariableToMessage(message, args.inMinValue);
                     message.append("\n");
                     message.append("Input inMaxValue: ");
-                    message.append(String.format("%d", args.inMaxValue));
+                    appendVariableToMessage(message, args.inMaxValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -809,19 +781,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("%d", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Input inMinValue: ");
-                    message.append(String.format("%d", args.inMinValue));
+                    appendVariableToMessage(message, args.inMinValue);
                     message.append("\n");
                     message.append("Input inMaxValue: ");
-                    message.append(String.format("%d", args.inMaxValue));
+                    appendVariableToMessage(message, args.inMaxValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -884,19 +856,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("%d", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Input inMinValue: ");
-                    message.append(String.format("%d", args.inMinValue));
+                    appendVariableToMessage(message, args.inMinValue);
                     message.append("\n");
                     message.append("Input inMaxValue: ");
-                    message.append(String.format("%d", args.inMaxValue));
+                    appendVariableToMessage(message, args.inMaxValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -966,19 +938,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("0x%x", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Input inMinValue: ");
-                    message.append(String.format("0x%x", args.inMinValue));
+                    appendVariableToMessage(message, args.inMinValue);
                     message.append("\n");
                     message.append("Input inMaxValue: ");
-                    message.append(String.format("0x%x", args.inMaxValue));
+                    appendVariableToMessage(message, args.inMaxValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (args.out != arrayOut[i * 1 + j]) {
                         message.append(" FAIL");
                     }
@@ -1041,19 +1013,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("0x%x", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Input inMinValue: ");
-                    message.append(String.format("0x%x", args.inMinValue));
+                    appendVariableToMessage(message, args.inMinValue);
                     message.append("\n");
                     message.append("Input inMaxValue: ");
-                    message.append(String.format("0x%x", args.inMaxValue));
+                    appendVariableToMessage(message, args.inMaxValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -1116,19 +1088,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("0x%x", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Input inMinValue: ");
-                    message.append(String.format("0x%x", args.inMinValue));
+                    appendVariableToMessage(message, args.inMinValue);
                     message.append("\n");
                     message.append("Input inMaxValue: ");
-                    message.append(String.format("0x%x", args.inMaxValue));
+                    appendVariableToMessage(message, args.inMaxValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -1191,19 +1163,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("0x%x", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Input inMinValue: ");
-                    message.append(String.format("0x%x", args.inMinValue));
+                    appendVariableToMessage(message, args.inMinValue);
                     message.append("\n");
                     message.append("Input inMaxValue: ");
-                    message.append(String.format("0x%x", args.inMaxValue));
+                    appendVariableToMessage(message, args.inMaxValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -1273,19 +1245,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("%d", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Input inMinValue: ");
-                    message.append(String.format("%d", args.inMinValue));
+                    appendVariableToMessage(message, args.inMinValue);
                     message.append("\n");
                     message.append("Input inMaxValue: ");
-                    message.append(String.format("%d", args.inMaxValue));
+                    appendVariableToMessage(message, args.inMaxValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (args.out != arrayOut[i * 1 + j]) {
                         message.append(" FAIL");
                     }
@@ -1348,19 +1320,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("%d", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Input inMinValue: ");
-                    message.append(String.format("%d", args.inMinValue));
+                    appendVariableToMessage(message, args.inMinValue);
                     message.append("\n");
                     message.append("Input inMaxValue: ");
-                    message.append(String.format("%d", args.inMaxValue));
+                    appendVariableToMessage(message, args.inMaxValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -1423,19 +1395,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("%d", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Input inMinValue: ");
-                    message.append(String.format("%d", args.inMinValue));
+                    appendVariableToMessage(message, args.inMinValue);
                     message.append("\n");
                     message.append("Input inMaxValue: ");
-                    message.append(String.format("%d", args.inMaxValue));
+                    appendVariableToMessage(message, args.inMaxValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -1498,19 +1470,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("%d", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Input inMinValue: ");
-                    message.append(String.format("%d", args.inMinValue));
+                    appendVariableToMessage(message, args.inMinValue);
                     message.append("\n");
                     message.append("Input inMaxValue: ");
-                    message.append(String.format("%d", args.inMaxValue));
+                    appendVariableToMessage(message, args.inMaxValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -1580,19 +1552,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("0x%x", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Input inMinValue: ");
-                    message.append(String.format("0x%x", args.inMinValue));
+                    appendVariableToMessage(message, args.inMinValue);
                     message.append("\n");
                     message.append("Input inMaxValue: ");
-                    message.append(String.format("0x%x", args.inMaxValue));
+                    appendVariableToMessage(message, args.inMaxValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (args.out != arrayOut[i * 1 + j]) {
                         message.append(" FAIL");
                     }
@@ -1655,19 +1627,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("0x%x", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Input inMinValue: ");
-                    message.append(String.format("0x%x", args.inMinValue));
+                    appendVariableToMessage(message, args.inMinValue);
                     message.append("\n");
                     message.append("Input inMaxValue: ");
-                    message.append(String.format("0x%x", args.inMaxValue));
+                    appendVariableToMessage(message, args.inMaxValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -1730,19 +1702,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("0x%x", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Input inMinValue: ");
-                    message.append(String.format("0x%x", args.inMinValue));
+                    appendVariableToMessage(message, args.inMinValue);
                     message.append("\n");
                     message.append("Input inMaxValue: ");
-                    message.append(String.format("0x%x", args.inMaxValue));
+                    appendVariableToMessage(message, args.inMaxValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -1805,19 +1777,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("0x%x", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Input inMinValue: ");
-                    message.append(String.format("0x%x", args.inMinValue));
+                    appendVariableToMessage(message, args.inMinValue);
                     message.append("\n");
                     message.append("Input inMaxValue: ");
-                    message.append(String.format("0x%x", args.inMaxValue));
+                    appendVariableToMessage(message, args.inMaxValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -1887,19 +1859,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("%d", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Input inMinValue: ");
-                    message.append(String.format("%d", args.inMinValue));
+                    appendVariableToMessage(message, args.inMinValue);
                     message.append("\n");
                     message.append("Input inMaxValue: ");
-                    message.append(String.format("%d", args.inMaxValue));
+                    appendVariableToMessage(message, args.inMaxValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (args.out != arrayOut[i * 1 + j]) {
                         message.append(" FAIL");
                     }
@@ -1962,19 +1934,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("%d", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Input inMinValue: ");
-                    message.append(String.format("%d", args.inMinValue));
+                    appendVariableToMessage(message, args.inMinValue);
                     message.append("\n");
                     message.append("Input inMaxValue: ");
-                    message.append(String.format("%d", args.inMaxValue));
+                    appendVariableToMessage(message, args.inMaxValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -2037,19 +2009,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("%d", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Input inMinValue: ");
-                    message.append(String.format("%d", args.inMinValue));
+                    appendVariableToMessage(message, args.inMinValue);
                     message.append("\n");
                     message.append("Input inMaxValue: ");
-                    message.append(String.format("%d", args.inMaxValue));
+                    appendVariableToMessage(message, args.inMaxValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -2112,19 +2084,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("%d", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Input inMinValue: ");
-                    message.append(String.format("%d", args.inMinValue));
+                    appendVariableToMessage(message, args.inMinValue);
                     message.append("\n");
                     message.append("Input inMaxValue: ");
-                    message.append(String.format("%d", args.inMaxValue));
+                    appendVariableToMessage(message, args.inMaxValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -2194,19 +2166,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("0x%x", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Input inMinValue: ");
-                    message.append(String.format("0x%x", args.inMinValue));
+                    appendVariableToMessage(message, args.inMinValue);
                     message.append("\n");
                     message.append("Input inMaxValue: ");
-                    message.append(String.format("0x%x", args.inMaxValue));
+                    appendVariableToMessage(message, args.inMaxValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (args.out != arrayOut[i * 1 + j]) {
                         message.append(" FAIL");
                     }
@@ -2269,19 +2241,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("0x%x", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Input inMinValue: ");
-                    message.append(String.format("0x%x", args.inMinValue));
+                    appendVariableToMessage(message, args.inMinValue);
                     message.append("\n");
                     message.append("Input inMaxValue: ");
-                    message.append(String.format("0x%x", args.inMaxValue));
+                    appendVariableToMessage(message, args.inMaxValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -2344,19 +2316,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("0x%x", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Input inMinValue: ");
-                    message.append(String.format("0x%x", args.inMinValue));
+                    appendVariableToMessage(message, args.inMinValue);
                     message.append("\n");
                     message.append("Input inMaxValue: ");
-                    message.append(String.format("0x%x", args.inMaxValue));
+                    appendVariableToMessage(message, args.inMaxValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -2419,19 +2391,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("0x%x", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Input inMinValue: ");
-                    message.append(String.format("0x%x", args.inMinValue));
+                    appendVariableToMessage(message, args.inMinValue);
                     message.append("\n");
                     message.append("Input inMaxValue: ");
-                    message.append(String.format("0x%x", args.inMaxValue));
+                    appendVariableToMessage(message, args.inMaxValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -2501,19 +2473,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("%d", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Input inMinValue: ");
-                    message.append(String.format("%d", args.inMinValue));
+                    appendVariableToMessage(message, args.inMinValue);
                     message.append("\n");
                     message.append("Input inMaxValue: ");
-                    message.append(String.format("%d", args.inMaxValue));
+                    appendVariableToMessage(message, args.inMaxValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (args.out != arrayOut[i * 1 + j]) {
                         message.append(" FAIL");
                     }
@@ -2576,19 +2548,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("%d", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Input inMinValue: ");
-                    message.append(String.format("%d", args.inMinValue));
+                    appendVariableToMessage(message, args.inMinValue);
                     message.append("\n");
                     message.append("Input inMaxValue: ");
-                    message.append(String.format("%d", args.inMaxValue));
+                    appendVariableToMessage(message, args.inMaxValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -2651,19 +2623,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("%d", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Input inMinValue: ");
-                    message.append(String.format("%d", args.inMinValue));
+                    appendVariableToMessage(message, args.inMinValue);
                     message.append("\n");
                     message.append("Input inMaxValue: ");
-                    message.append(String.format("%d", args.inMaxValue));
+                    appendVariableToMessage(message, args.inMaxValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -2726,19 +2698,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("%d", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Input inMinValue: ");
-                    message.append(String.format("%d", args.inMinValue));
+                    appendVariableToMessage(message, args.inMinValue);
                     message.append("\n");
                     message.append("Input inMaxValue: ");
-                    message.append(String.format("%d", args.inMaxValue));
+                    appendVariableToMessage(message, args.inMaxValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -2808,19 +2780,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("0x%x", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Input inMinValue: ");
-                    message.append(String.format("0x%x", args.inMinValue));
+                    appendVariableToMessage(message, args.inMinValue);
                     message.append("\n");
                     message.append("Input inMaxValue: ");
-                    message.append(String.format("0x%x", args.inMaxValue));
+                    appendVariableToMessage(message, args.inMaxValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (args.out != arrayOut[i * 1 + j]) {
                         message.append(" FAIL");
                     }
@@ -2883,19 +2855,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("0x%x", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Input inMinValue: ");
-                    message.append(String.format("0x%x", args.inMinValue));
+                    appendVariableToMessage(message, args.inMinValue);
                     message.append("\n");
                     message.append("Input inMaxValue: ");
-                    message.append(String.format("0x%x", args.inMaxValue));
+                    appendVariableToMessage(message, args.inMaxValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -2958,19 +2930,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("0x%x", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Input inMinValue: ");
-                    message.append(String.format("0x%x", args.inMinValue));
+                    appendVariableToMessage(message, args.inMinValue);
                     message.append("\n");
                     message.append("Input inMaxValue: ");
-                    message.append(String.format("0x%x", args.inMaxValue));
+                    appendVariableToMessage(message, args.inMaxValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -3033,19 +3005,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("0x%x", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Input inMinValue: ");
-                    message.append(String.format("0x%x", args.inMinValue));
+                    appendVariableToMessage(message, args.inMinValue);
                     message.append("\n");
                     message.append("Input inMaxValue: ");
-                    message.append(String.format("0x%x", args.inMaxValue));
+                    appendVariableToMessage(message, args.inMaxValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -3108,19 +3080,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("%d", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Input inMinValue: ");
-                    message.append(String.format("%d", args.inMinValue));
+                    appendVariableToMessage(message, args.inMinValue);
                     message.append("\n");
                     message.append("Input inMaxValue: ");
-                    message.append(String.format("%d", args.inMaxValue));
+                    appendVariableToMessage(message, args.inMaxValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -3183,19 +3155,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("%d", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Input inMinValue: ");
-                    message.append(String.format("%d", args.inMinValue));
+                    appendVariableToMessage(message, args.inMinValue);
                     message.append("\n");
                     message.append("Input inMaxValue: ");
-                    message.append(String.format("%d", args.inMaxValue));
+                    appendVariableToMessage(message, args.inMaxValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -3258,19 +3230,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("%d", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Input inMinValue: ");
-                    message.append(String.format("%d", args.inMinValue));
+                    appendVariableToMessage(message, args.inMinValue);
                     message.append("\n");
                     message.append("Input inMaxValue: ");
-                    message.append(String.format("%d", args.inMaxValue));
+                    appendVariableToMessage(message, args.inMaxValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -3333,19 +3305,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("0x%x", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Input inMinValue: ");
-                    message.append(String.format("0x%x", args.inMinValue));
+                    appendVariableToMessage(message, args.inMinValue);
                     message.append("\n");
                     message.append("Input inMaxValue: ");
-                    message.append(String.format("0x%x", args.inMaxValue));
+                    appendVariableToMessage(message, args.inMaxValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -3408,19 +3380,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("0x%x", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Input inMinValue: ");
-                    message.append(String.format("0x%x", args.inMinValue));
+                    appendVariableToMessage(message, args.inMinValue);
                     message.append("\n");
                     message.append("Input inMaxValue: ");
-                    message.append(String.format("0x%x", args.inMaxValue));
+                    appendVariableToMessage(message, args.inMaxValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -3483,19 +3455,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("0x%x", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Input inMinValue: ");
-                    message.append(String.format("0x%x", args.inMinValue));
+                    appendVariableToMessage(message, args.inMinValue);
                     message.append("\n");
                     message.append("Input inMaxValue: ");
-                    message.append(String.format("0x%x", args.inMaxValue));
+                    appendVariableToMessage(message, args.inMaxValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -3558,19 +3530,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("%d", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Input inMinValue: ");
-                    message.append(String.format("%d", args.inMinValue));
+                    appendVariableToMessage(message, args.inMinValue);
                     message.append("\n");
                     message.append("Input inMaxValue: ");
-                    message.append(String.format("%d", args.inMaxValue));
+                    appendVariableToMessage(message, args.inMaxValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -3633,19 +3605,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("%d", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Input inMinValue: ");
-                    message.append(String.format("%d", args.inMinValue));
+                    appendVariableToMessage(message, args.inMinValue);
                     message.append("\n");
                     message.append("Input inMaxValue: ");
-                    message.append(String.format("%d", args.inMaxValue));
+                    appendVariableToMessage(message, args.inMaxValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -3708,19 +3680,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("%d", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Input inMinValue: ");
-                    message.append(String.format("%d", args.inMinValue));
+                    appendVariableToMessage(message, args.inMinValue);
                     message.append("\n");
                     message.append("Input inMaxValue: ");
-                    message.append(String.format("%d", args.inMaxValue));
+                    appendVariableToMessage(message, args.inMaxValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -3783,19 +3755,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("0x%x", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Input inMinValue: ");
-                    message.append(String.format("0x%x", args.inMinValue));
+                    appendVariableToMessage(message, args.inMinValue);
                     message.append("\n");
                     message.append("Input inMaxValue: ");
-                    message.append(String.format("0x%x", args.inMaxValue));
+                    appendVariableToMessage(message, args.inMaxValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -3858,19 +3830,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("0x%x", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Input inMinValue: ");
-                    message.append(String.format("0x%x", args.inMinValue));
+                    appendVariableToMessage(message, args.inMinValue);
                     message.append("\n");
                     message.append("Input inMaxValue: ");
-                    message.append(String.format("0x%x", args.inMaxValue));
+                    appendVariableToMessage(message, args.inMaxValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -3933,19 +3905,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("0x%x", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Input inMinValue: ");
-                    message.append(String.format("0x%x", args.inMinValue));
+                    appendVariableToMessage(message, args.inMinValue);
                     message.append("\n");
                     message.append("Input inMaxValue: ");
-                    message.append(String.format("0x%x", args.inMaxValue));
+                    appendVariableToMessage(message, args.inMaxValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -4008,19 +3980,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("%d", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Input inMinValue: ");
-                    message.append(String.format("%d", args.inMinValue));
+                    appendVariableToMessage(message, args.inMinValue);
                     message.append("\n");
                     message.append("Input inMaxValue: ");
-                    message.append(String.format("%d", args.inMaxValue));
+                    appendVariableToMessage(message, args.inMaxValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -4083,19 +4055,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("%d", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Input inMinValue: ");
-                    message.append(String.format("%d", args.inMinValue));
+                    appendVariableToMessage(message, args.inMinValue);
                     message.append("\n");
                     message.append("Input inMaxValue: ");
-                    message.append(String.format("%d", args.inMaxValue));
+                    appendVariableToMessage(message, args.inMaxValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -4158,19 +4130,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("%d", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Input inMinValue: ");
-                    message.append(String.format("%d", args.inMinValue));
+                    appendVariableToMessage(message, args.inMinValue);
                     message.append("\n");
                     message.append("Input inMaxValue: ");
-                    message.append(String.format("%d", args.inMaxValue));
+                    appendVariableToMessage(message, args.inMaxValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -4233,19 +4205,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("0x%x", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Input inMinValue: ");
-                    message.append(String.format("0x%x", args.inMinValue));
+                    appendVariableToMessage(message, args.inMinValue);
                     message.append("\n");
                     message.append("Input inMaxValue: ");
-                    message.append(String.format("0x%x", args.inMaxValue));
+                    appendVariableToMessage(message, args.inMaxValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -4308,19 +4280,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("0x%x", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Input inMinValue: ");
-                    message.append(String.format("0x%x", args.inMinValue));
+                    appendVariableToMessage(message, args.inMinValue);
                     message.append("\n");
                     message.append("Input inMaxValue: ");
-                    message.append(String.format("0x%x", args.inMaxValue));
+                    appendVariableToMessage(message, args.inMaxValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -4383,19 +4355,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("0x%x", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Input inMinValue: ");
-                    message.append(String.format("0x%x", args.inMinValue));
+                    appendVariableToMessage(message, args.inMinValue);
                     message.append("\n");
                     message.append("Input inMaxValue: ");
-                    message.append(String.format("0x%x", args.inMaxValue));
+                    appendVariableToMessage(message, args.inMaxValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -4458,19 +4430,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("%d", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Input inMinValue: ");
-                    message.append(String.format("%d", args.inMinValue));
+                    appendVariableToMessage(message, args.inMinValue);
                     message.append("\n");
                     message.append("Input inMaxValue: ");
-                    message.append(String.format("%d", args.inMaxValue));
+                    appendVariableToMessage(message, args.inMaxValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -4533,19 +4505,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("%d", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Input inMinValue: ");
-                    message.append(String.format("%d", args.inMinValue));
+                    appendVariableToMessage(message, args.inMinValue);
                     message.append("\n");
                     message.append("Input inMaxValue: ");
-                    message.append(String.format("%d", args.inMaxValue));
+                    appendVariableToMessage(message, args.inMaxValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -4608,19 +4580,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("%d", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Input inMinValue: ");
-                    message.append(String.format("%d", args.inMinValue));
+                    appendVariableToMessage(message, args.inMinValue);
                     message.append("\n");
                     message.append("Input inMaxValue: ");
-                    message.append(String.format("%d", args.inMaxValue));
+                    appendVariableToMessage(message, args.inMaxValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -4683,19 +4655,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("0x%x", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Input inMinValue: ");
-                    message.append(String.format("0x%x", args.inMinValue));
+                    appendVariableToMessage(message, args.inMinValue);
                     message.append("\n");
                     message.append("Input inMaxValue: ");
-                    message.append(String.format("0x%x", args.inMaxValue));
+                    appendVariableToMessage(message, args.inMaxValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -4758,19 +4730,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("0x%x", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Input inMinValue: ");
-                    message.append(String.format("0x%x", args.inMinValue));
+                    appendVariableToMessage(message, args.inMinValue);
                     message.append("\n");
                     message.append("Input inMaxValue: ");
-                    message.append(String.format("0x%x", args.inMaxValue));
+                    appendVariableToMessage(message, args.inMaxValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -4833,19 +4805,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("0x%x", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Input inMinValue: ");
-                    message.append(String.format("0x%x", args.inMinValue));
+                    appendVariableToMessage(message, args.inMinValue);
                     message.append("\n");
                     message.append("Input inMaxValue: ");
-                    message.append(String.format("0x%x", args.inMaxValue));
+                    appendVariableToMessage(message, args.inMaxValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestClamp.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestClamp.rs
similarity index 99%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestClamp.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestClamp.rs
index 9bb5c87..6035974 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestClamp.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestClamp.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 rs_allocation gAllocInMinValue;
 rs_allocation gAllocInMaxValue;
 
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestClampRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestClampRelaxed.rs
index 1760b34..6d9474d 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestClampRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestClamp.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestClz.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestClz.java
similarity index 91%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestClz.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestClz.java
index b10fcb9..d9e7022 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestClz.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestClz.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestClz extends RSBaseCompute {
+public class TestClz extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestClz script;
-    private ScriptC_GeneratedTestClzRelaxed scriptRelaxed;
+    private ScriptC_TestClz script;
+    private ScriptC_TestClzRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestClz(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestClzRelaxed(mRS);
+        script = new ScriptC_TestClz(mRS);
+        scriptRelaxed = new ScriptC_TestClzRelaxed(mRS);
     }
 
     public class ArgumentsCharChar {
@@ -77,13 +77,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("%d", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (args.out != arrayOut[i * 1 + j]) {
                         message.append(" FAIL");
                     }
@@ -133,13 +133,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("%d", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -189,13 +189,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("%d", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -245,13 +245,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("%d", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -306,13 +306,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("0x%x", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (args.out != arrayOut[i * 1 + j]) {
                         message.append(" FAIL");
                     }
@@ -362,13 +362,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("0x%x", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -418,13 +418,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("0x%x", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -474,13 +474,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("0x%x", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -535,13 +535,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("%d", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (args.out != arrayOut[i * 1 + j]) {
                         message.append(" FAIL");
                     }
@@ -591,13 +591,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("%d", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -647,13 +647,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("%d", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -703,13 +703,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("%d", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -764,13 +764,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("0x%x", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (args.out != arrayOut[i * 1 + j]) {
                         message.append(" FAIL");
                     }
@@ -820,13 +820,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("0x%x", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -876,13 +876,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("0x%x", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -932,13 +932,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("0x%x", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -993,13 +993,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("%d", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (args.out != arrayOut[i * 1 + j]) {
                         message.append(" FAIL");
                     }
@@ -1049,13 +1049,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("%d", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -1105,13 +1105,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("%d", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -1161,13 +1161,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("%d", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -1222,13 +1222,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("0x%x", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (args.out != arrayOut[i * 1 + j]) {
                         message.append(" FAIL");
                     }
@@ -1278,13 +1278,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("0x%x", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -1334,13 +1334,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("0x%x", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -1390,13 +1390,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inValue: ");
-                    message.append(String.format("0x%x", args.inValue));
+                    appendVariableToMessage(message, args.inValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestClz.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestClz.rs
similarity index 97%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestClz.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestClz.rs
index 3501e01..40570bd 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestClz.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestClz.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 char __attribute__((kernel)) testClzCharChar(char inValue) {
     return clz(inValue);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestClzRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestClzRelaxed.rs
index 1760b34..27af443 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestClzRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestClz.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestConvert.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestConvert.java
similarity index 91%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestConvert.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestConvert.java
index aa28239..8d09dd4 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestConvert.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestConvert.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestConvert extends RSBaseCompute {
+public class TestConvert extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestConvert script;
-    private ScriptC_GeneratedTestConvertRelaxed scriptRelaxed;
+    private ScriptC_TestConvert script;
+    private ScriptC_TestConvertRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestConvert(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestConvertRelaxed(mRS);
+        script = new ScriptC_TestConvert(mRS);
+        scriptRelaxed = new ScriptC_TestConvertRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -260,14 +254,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -318,14 +311,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -376,14 +368,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -439,14 +430,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -497,14 +487,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -555,14 +544,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -618,14 +606,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -676,14 +663,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -734,14 +720,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -797,14 +782,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -855,14 +839,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -913,14 +896,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -976,14 +958,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -1034,14 +1015,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -1092,14 +1072,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -1155,14 +1134,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -1213,14 +1191,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -1271,14 +1248,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -1333,14 +1309,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -1390,14 +1365,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -1447,14 +1421,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -1509,13 +1482,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -1565,13 +1538,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -1621,13 +1594,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -1682,13 +1655,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -1738,13 +1711,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -1794,13 +1767,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -1855,13 +1828,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -1911,13 +1884,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -1967,13 +1940,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -2028,13 +2001,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -2084,13 +2057,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -2140,13 +2113,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -2201,13 +2174,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -2257,13 +2230,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -2313,13 +2286,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -2374,13 +2347,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -2430,13 +2403,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -2486,13 +2459,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -2547,14 +2520,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -2604,14 +2576,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -2661,14 +2632,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -2723,13 +2693,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -2779,13 +2749,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -2835,13 +2805,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -2896,13 +2866,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -2952,13 +2922,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -3008,13 +2978,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -3069,13 +3039,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -3125,13 +3095,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -3181,13 +3151,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -3242,13 +3212,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -3298,13 +3268,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -3354,13 +3324,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -3415,13 +3385,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -3471,13 +3441,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -3527,13 +3497,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -3588,13 +3558,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -3644,13 +3614,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -3700,13 +3670,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -3761,14 +3731,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -3818,14 +3787,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -3875,14 +3843,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -3937,13 +3904,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -3993,13 +3960,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -4049,13 +4016,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -4110,13 +4077,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -4166,13 +4133,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -4222,13 +4189,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -4283,13 +4250,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -4339,13 +4306,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -4395,13 +4362,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -4456,13 +4423,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -4512,13 +4479,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -4568,13 +4535,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -4629,13 +4596,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -4685,13 +4652,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -4741,13 +4708,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -4802,13 +4769,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -4858,13 +4825,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -4914,13 +4881,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -4975,14 +4942,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -5032,14 +4998,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -5089,14 +5054,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -5151,13 +5115,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -5207,13 +5171,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -5263,13 +5227,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -5324,13 +5288,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -5380,13 +5344,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -5436,13 +5400,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -5497,13 +5461,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -5553,13 +5517,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -5609,13 +5573,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -5670,13 +5634,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -5726,13 +5690,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -5782,13 +5746,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -5843,13 +5807,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -5899,13 +5863,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -5955,13 +5919,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -6016,13 +5980,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -6072,13 +6036,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -6128,13 +6092,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -6189,14 +6153,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -6246,14 +6209,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -6303,14 +6265,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -6365,13 +6326,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -6421,13 +6382,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -6477,13 +6438,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -6538,13 +6499,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -6594,13 +6555,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -6650,13 +6611,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -6711,13 +6672,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -6767,13 +6728,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -6823,13 +6784,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -6884,13 +6845,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -6940,13 +6901,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -6996,13 +6957,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -7057,13 +7018,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -7113,13 +7074,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -7169,13 +7130,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -7230,13 +7191,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -7286,13 +7247,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -7342,13 +7303,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -7403,14 +7364,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -7460,14 +7420,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -7517,14 +7476,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -7579,13 +7537,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -7635,13 +7593,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -7691,13 +7649,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -7752,13 +7710,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -7808,13 +7766,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -7864,13 +7822,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -7925,13 +7883,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -7981,13 +7939,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -8037,13 +7995,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -8098,13 +8056,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -8154,13 +8112,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -8210,13 +8168,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -8271,13 +8229,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -8327,13 +8285,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -8383,13 +8341,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -8444,13 +8402,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -8500,13 +8458,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -8556,13 +8514,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -8618,15 +8576,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%24.8g {%16x} %31a",
-                            args.inV, Double.doubleToRawLongBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%24.8g {%16x} %31a",
-                            arrayOut[i * 2 + j], Double.doubleToRawLongBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -8677,15 +8633,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%24.8g {%16x} %31a",
-                            args.inV, Double.doubleToRawLongBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%24.8g {%16x} %31a",
-                            arrayOut[i * 4 + j], Double.doubleToRawLongBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -8736,15 +8690,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%24.8g {%16x} %31a",
-                            args.inV, Double.doubleToRawLongBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%24.8g {%16x} %31a",
-                            arrayOut[i * 4 + j], Double.doubleToRawLongBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -8800,14 +8752,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%24.8g {%16x} %31a",
-                            arrayOut[i * 2 + j], Double.doubleToRawLongBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -8858,14 +8809,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%24.8g {%16x} %31a",
-                            arrayOut[i * 4 + j], Double.doubleToRawLongBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -8916,14 +8866,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%24.8g {%16x} %31a",
-                            arrayOut[i * 4 + j], Double.doubleToRawLongBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -8979,14 +8928,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%24.8g {%16x} %31a",
-                            arrayOut[i * 2 + j], Double.doubleToRawLongBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -9037,14 +8985,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%24.8g {%16x} %31a",
-                            arrayOut[i * 4 + j], Double.doubleToRawLongBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -9095,14 +9042,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%24.8g {%16x} %31a",
-                            arrayOut[i * 4 + j], Double.doubleToRawLongBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -9157,14 +9103,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%24.8g {%16x} %31a",
-                            args.inV, Double.doubleToRawLongBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -9214,14 +9159,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%24.8g {%16x} %31a",
-                            args.inV, Double.doubleToRawLongBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -9271,14 +9215,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%24.8g {%16x} %31a",
-                            args.inV, Double.doubleToRawLongBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -9333,13 +9276,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -9389,13 +9332,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -9445,13 +9388,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -9506,13 +9449,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -9562,13 +9505,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -9618,13 +9561,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -9679,14 +9622,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%24.8g {%16x} %31a",
-                            args.inV, Double.doubleToRawLongBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -9736,14 +9678,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%24.8g {%16x} %31a",
-                            args.inV, Double.doubleToRawLongBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -9793,14 +9734,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%24.8g {%16x} %31a",
-                            args.inV, Double.doubleToRawLongBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -9855,13 +9795,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -9911,13 +9851,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -9967,13 +9907,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -10028,13 +9968,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -10084,13 +10024,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -10140,13 +10080,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -10202,15 +10142,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%24.8g {%16x} %31a",
-                            args.inV, Double.doubleToRawLongBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -10261,15 +10199,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%24.8g {%16x} %31a",
-                            args.inV, Double.doubleToRawLongBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -10320,15 +10256,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%24.8g {%16x} %31a",
-                            args.inV, Double.doubleToRawLongBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -10384,14 +10318,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -10442,14 +10375,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -10500,14 +10432,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -10563,14 +10494,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -10621,14 +10551,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -10679,14 +10608,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -10741,14 +10669,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%24.8g {%16x} %31a",
-                            args.inV, Double.doubleToRawLongBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -10798,14 +10725,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%24.8g {%16x} %31a",
-                            args.inV, Double.doubleToRawLongBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -10855,14 +10781,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%24.8g {%16x} %31a",
-                            args.inV, Double.doubleToRawLongBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -10917,13 +10842,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -10973,13 +10898,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -11029,13 +10954,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -11090,13 +11015,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -11146,13 +11071,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -11202,13 +11127,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -11263,14 +11188,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%24.8g {%16x} %31a",
-                            args.inV, Double.doubleToRawLongBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -11320,14 +11244,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%24.8g {%16x} %31a",
-                            args.inV, Double.doubleToRawLongBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -11377,14 +11300,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%24.8g {%16x} %31a",
-                            args.inV, Double.doubleToRawLongBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -11439,13 +11361,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -11495,13 +11417,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -11551,13 +11473,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -11612,13 +11534,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -11668,13 +11590,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -11724,13 +11646,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -11785,14 +11707,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%24.8g {%16x} %31a",
-                            args.inV, Double.doubleToRawLongBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -11842,14 +11763,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%24.8g {%16x} %31a",
-                            args.inV, Double.doubleToRawLongBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -11899,14 +11819,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%24.8g {%16x} %31a",
-                            args.inV, Double.doubleToRawLongBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -11961,13 +11880,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -12017,13 +11936,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -12073,13 +11992,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -12134,13 +12053,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -12190,13 +12109,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -12246,13 +12165,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -12307,14 +12226,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%24.8g {%16x} %31a",
-                            args.inV, Double.doubleToRawLongBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -12364,14 +12282,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%24.8g {%16x} %31a",
-                            args.inV, Double.doubleToRawLongBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -12421,14 +12338,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%24.8g {%16x} %31a",
-                            args.inV, Double.doubleToRawLongBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -12483,13 +12399,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -12539,13 +12455,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -12595,13 +12511,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -12656,13 +12572,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -12712,13 +12628,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -12768,13 +12684,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -12829,14 +12745,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%24.8g {%16x} %31a",
-                            args.inV, Double.doubleToRawLongBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -12886,14 +12801,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%24.8g {%16x} %31a",
-                            args.inV, Double.doubleToRawLongBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -12943,14 +12857,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%24.8g {%16x} %31a",
-                            args.inV, Double.doubleToRawLongBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -13005,13 +12918,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -13061,13 +12974,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -13117,13 +13030,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -13178,13 +13091,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -13234,13 +13147,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -13290,13 +13203,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -13351,14 +13264,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%24.8g {%16x} %31a",
-                            args.inV, Double.doubleToRawLongBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -13408,14 +13320,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%24.8g {%16x} %31a",
-                            args.inV, Double.doubleToRawLongBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -13465,14 +13376,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%24.8g {%16x} %31a",
-                            args.inV, Double.doubleToRawLongBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -13527,13 +13437,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -13583,13 +13493,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -13639,13 +13549,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -13700,13 +13610,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -13756,13 +13666,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -13812,13 +13722,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -13874,15 +13784,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%24.8g {%16x} %31a",
-                            arrayOut[i * 2 + j], Double.doubleToRawLongBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -13933,15 +13841,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%24.8g {%16x} %31a",
-                            arrayOut[i * 4 + j], Double.doubleToRawLongBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -13992,15 +13898,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%24.8g {%16x} %31a",
-                            arrayOut[i * 4 + j], Double.doubleToRawLongBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -14056,14 +13960,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%24.8g {%16x} %31a",
-                            arrayOut[i * 2 + j], Double.doubleToRawLongBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -14114,14 +14017,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%24.8g {%16x} %31a",
-                            arrayOut[i * 4 + j], Double.doubleToRawLongBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -14172,14 +14074,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%24.8g {%16x} %31a",
-                            arrayOut[i * 4 + j], Double.doubleToRawLongBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -14235,14 +14136,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%24.8g {%16x} %31a",
-                            arrayOut[i * 2 + j], Double.doubleToRawLongBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -14293,14 +14193,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%24.8g {%16x} %31a",
-                            arrayOut[i * 4 + j], Double.doubleToRawLongBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -14351,14 +14250,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%24.8g {%16x} %31a",
-                            arrayOut[i * 4 + j], Double.doubleToRawLongBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -14414,14 +14312,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%24.8g {%16x} %31a",
-                            arrayOut[i * 2 + j], Double.doubleToRawLongBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -14472,14 +14369,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%24.8g {%16x} %31a",
-                            arrayOut[i * 4 + j], Double.doubleToRawLongBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -14530,14 +14426,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%24.8g {%16x} %31a",
-                            arrayOut[i * 4 + j], Double.doubleToRawLongBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -14593,14 +14488,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%24.8g {%16x} %31a",
-                            arrayOut[i * 2 + j], Double.doubleToRawLongBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -14651,14 +14545,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%24.8g {%16x} %31a",
-                            arrayOut[i * 4 + j], Double.doubleToRawLongBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -14709,14 +14602,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%24.8g {%16x} %31a",
-                            arrayOut[i * 4 + j], Double.doubleToRawLongBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -14772,14 +14664,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%24.8g {%16x} %31a",
-                            arrayOut[i * 2 + j], Double.doubleToRawLongBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -14830,14 +14721,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%24.8g {%16x} %31a",
-                            arrayOut[i * 4 + j], Double.doubleToRawLongBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -14888,14 +14778,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%24.8g {%16x} %31a",
-                            arrayOut[i * 4 + j], Double.doubleToRawLongBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -14951,14 +14840,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%24.8g {%16x} %31a",
-                            arrayOut[i * 2 + j], Double.doubleToRawLongBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -15009,14 +14897,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%24.8g {%16x} %31a",
-                            arrayOut[i * 4 + j], Double.doubleToRawLongBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -15067,14 +14954,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%24.8g {%16x} %31a",
-                            arrayOut[i * 4 + j], Double.doubleToRawLongBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -15129,14 +15015,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -15186,14 +15071,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -15243,14 +15127,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -15305,13 +15188,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -15361,13 +15244,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -15417,13 +15300,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -15478,13 +15361,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -15534,13 +15417,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -15590,13 +15473,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -15651,13 +15534,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -15707,13 +15590,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -15763,13 +15646,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -15824,13 +15707,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -15880,13 +15763,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -15936,13 +15819,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -15997,13 +15880,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -16053,13 +15936,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -16109,13 +15992,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -16170,13 +16053,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -16226,13 +16109,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -16282,13 +16165,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -16343,14 +16226,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -16400,14 +16282,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -16457,14 +16338,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -16519,13 +16399,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -16575,13 +16455,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -16631,13 +16511,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -16692,13 +16572,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -16748,13 +16628,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -16804,13 +16684,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -16865,13 +16745,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -16921,13 +16801,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -16977,13 +16857,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -17038,13 +16918,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -17094,13 +16974,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -17150,13 +17030,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -17211,13 +17091,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -17267,13 +17147,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -17323,13 +17203,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%d", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -17384,13 +17264,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -17440,13 +17320,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -17496,13 +17376,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestConvert.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestConvert.rs
similarity index 99%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestConvert.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestConvert.rs
index 7c94d5e..d307e92 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestConvert.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestConvert.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float2 __attribute__((kernel)) testConvertFloat2Float2Float2(float2 inV) {
     return convert_float2(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestConvertRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestConvertRelaxed.rs
index 1760b34..57ae29c 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestConvertRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestConvert.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestCopysign.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCopysign.java
similarity index 83%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestCopysign.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestCopysign.java
index 1391b61..739b280e 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestCopysign.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCopysign.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestCopysign extends RSBaseCompute {
+public class TestCopysign extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestCopysign script;
-    private ScriptC_GeneratedTestCopysignRelaxed scriptRelaxed;
+    private ScriptC_TestCopysign script;
+    private ScriptC_TestCopysignRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestCopysign(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestCopysignRelaxed(mRS);
+        script = new ScriptC_TestCopysign(mRS);
+        scriptRelaxed = new ScriptC_TestCopysignRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloatFloat {
@@ -85,19 +85,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inMagnitudeValue: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inMagnitudeValue, Float.floatToRawIntBits(args.inMagnitudeValue), args.inMagnitudeValue));
+                    appendVariableToMessage(message, args.inMagnitudeValue);
                     message.append("\n");
                     message.append("Input inSignValue: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inSignValue, Float.floatToRawIntBits(args.inSignValue), args.inSignValue));
+                    appendVariableToMessage(message, args.inSignValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -154,19 +151,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inMagnitudeValue: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inMagnitudeValue, Float.floatToRawIntBits(args.inMagnitudeValue), args.inMagnitudeValue));
+                    appendVariableToMessage(message, args.inMagnitudeValue);
                     message.append("\n");
                     message.append("Input inSignValue: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inSignValue, Float.floatToRawIntBits(args.inSignValue), args.inSignValue));
+                    appendVariableToMessage(message, args.inSignValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -223,19 +217,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inMagnitudeValue: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inMagnitudeValue, Float.floatToRawIntBits(args.inMagnitudeValue), args.inMagnitudeValue));
+                    appendVariableToMessage(message, args.inMagnitudeValue);
                     message.append("\n");
                     message.append("Input inSignValue: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inSignValue, Float.floatToRawIntBits(args.inSignValue), args.inSignValue));
+                    appendVariableToMessage(message, args.inSignValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -292,19 +283,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inMagnitudeValue: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inMagnitudeValue, Float.floatToRawIntBits(args.inMagnitudeValue), args.inMagnitudeValue));
+                    appendVariableToMessage(message, args.inMagnitudeValue);
                     message.append("\n");
                     message.append("Input inSignValue: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inSignValue, Float.floatToRawIntBits(args.inSignValue), args.inSignValue));
+                    appendVariableToMessage(message, args.inSignValue);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestCopysign.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCopysign.rs
similarity index 95%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestCopysign.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestCopysign.rs
index ccbf2b7..3aac45b 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestCopysign.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCopysign.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 rs_allocation gAllocInSignValue;
 
 float __attribute__((kernel)) testCopysignFloatFloatFloat(float inMagnitudeValue, unsigned int x) {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCopysignRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestCopysignRelaxed.rs
index 1760b34..c881b0b4 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCopysignRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestCopysign.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestCos.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCos.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestCos.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestCos.java
index ef2d39f..4a184e2 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestCos.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCos.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestCos extends RSBaseCompute {
+public class TestCos extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestCos script;
-    private ScriptC_GeneratedTestCosRelaxed scriptRelaxed;
+    private ScriptC_TestCos script;
+    private ScriptC_TestCosRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestCos(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestCosRelaxed(mRS);
+        script = new ScriptC_TestCos(mRS);
+        scriptRelaxed = new ScriptC_TestCosRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestCos.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCos.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestCos.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestCos.rs
index 005b568..c2962ba 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestCos.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCos.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testCosFloatFloat(float inV) {
     return cos(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCosRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestCosRelaxed.rs
index 1760b34..ff383e5 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCosRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestCos.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestCosh.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCosh.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestCosh.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestCosh.java
index f1c3a83..c2ea5af 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestCosh.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCosh.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestCosh extends RSBaseCompute {
+public class TestCosh extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestCosh script;
-    private ScriptC_GeneratedTestCoshRelaxed scriptRelaxed;
+    private ScriptC_TestCosh script;
+    private ScriptC_TestCoshRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestCosh(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestCoshRelaxed(mRS);
+        script = new ScriptC_TestCosh(mRS);
+        scriptRelaxed = new ScriptC_TestCoshRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestCosh.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCosh.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestCosh.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestCosh.rs
index 3064edb..17c6714 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestCosh.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCosh.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testCoshFloatFloat(float inV) {
     return cosh(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCoshRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestCoshRelaxed.rs
index 1760b34..4f1c0ee 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCoshRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestCosh.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestCospi.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCospi.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestCospi.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestCospi.java
index 66ad337..546f69d 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestCospi.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCospi.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestCospi extends RSBaseCompute {
+public class TestCospi extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestCospi script;
-    private ScriptC_GeneratedTestCospiRelaxed scriptRelaxed;
+    private ScriptC_TestCospi script;
+    private ScriptC_TestCospiRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestCospi(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestCospiRelaxed(mRS);
+        script = new ScriptC_TestCospi(mRS);
+        scriptRelaxed = new ScriptC_TestCospiRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestCospi.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCospi.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestCospi.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestCospi.rs
index 25f9e8e..c6e5922 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestCospi.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCospi.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testCospiFloatFloat(float inV) {
     return cospi(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCospiRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestCospiRelaxed.rs
index 1760b34..582b8c0 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCospiRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestCospi.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestCross.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCross.java
similarity index 83%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestCross.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestCross.java
index 748bdd8..e1a86d6 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestCross.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCross.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestCross extends RSBaseCompute {
+public class TestCross extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestCross script;
-    private ScriptC_GeneratedTestCrossRelaxed scriptRelaxed;
+    private ScriptC_TestCross script;
+    private ScriptC_TestCrossRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestCross(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestCrossRelaxed(mRS);
+        script = new ScriptC_TestCross(mRS);
+        scriptRelaxed = new ScriptC_TestCrossRelaxed(mRS);
     }
 
     public class ArgumentsFloatNFloatNFloatN {
@@ -95,23 +95,20 @@
                 StringBuilder message = new StringBuilder();
                 for (int j = 0; j < 3 ; j++) {
                     message.append("Input inLeftVector: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayInLeftVector[i * 4 + j], Float.floatToRawIntBits(arrayInLeftVector[i * 4 + j]), arrayInLeftVector[i * 4 + j]));
+                    appendVariableToMessage(message, arrayInLeftVector[i * 4 + j]);
                     message.append("\n");
                 }
                 for (int j = 0; j < 3 ; j++) {
                     message.append("Input inRightVector: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayInRightVector[i * 4 + j], Float.floatToRawIntBits(arrayInRightVector[i * 4 + j]), arrayInRightVector[i * 4 + j]));
+                    appendVariableToMessage(message, arrayInRightVector[i * 4 + j]);
                     message.append("\n");
                 }
                 for (int j = 0; j < 3 ; j++) {
                     message.append("Expected output out: ");
-                    message.append(args.out[j].toString());
+                    appendVariableToMessage(message, args.out[j]);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out[j].couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -178,23 +175,20 @@
                 StringBuilder message = new StringBuilder();
                 for (int j = 0; j < 4 ; j++) {
                     message.append("Input inLeftVector: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayInLeftVector[i * 4 + j], Float.floatToRawIntBits(arrayInLeftVector[i * 4 + j]), arrayInLeftVector[i * 4 + j]));
+                    appendVariableToMessage(message, arrayInLeftVector[i * 4 + j]);
                     message.append("\n");
                 }
                 for (int j = 0; j < 4 ; j++) {
                     message.append("Input inRightVector: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayInRightVector[i * 4 + j], Float.floatToRawIntBits(arrayInRightVector[i * 4 + j]), arrayInRightVector[i * 4 + j]));
+                    appendVariableToMessage(message, arrayInRightVector[i * 4 + j]);
                     message.append("\n");
                 }
                 for (int j = 0; j < 4 ; j++) {
                     message.append("Expected output out: ");
-                    message.append(args.out[j].toString());
+                    appendVariableToMessage(message, args.out[j]);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out[j].couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestCross.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCross.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestCross.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestCross.rs
index 7858054..9be99a0 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestCross.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCross.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 rs_allocation gAllocInRightVector;
 
 float3 __attribute__((kernel)) testCrossFloat3Float3Float3(float3 inLeftVector, unsigned int x) {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCrossRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestCrossRelaxed.rs
index 1760b34..cd95138 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCrossRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestCross.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestDegrees.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestDegrees.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestDegrees.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestDegrees.java
index 5c0b2fa..7957795 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestDegrees.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestDegrees.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestDegrees extends RSBaseCompute {
+public class TestDegrees extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestDegrees script;
-    private ScriptC_GeneratedTestDegreesRelaxed scriptRelaxed;
+    private ScriptC_TestDegrees script;
+    private ScriptC_TestDegreesRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestDegrees(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestDegreesRelaxed(mRS);
+        script = new ScriptC_TestDegrees(mRS);
+        scriptRelaxed = new ScriptC_TestDegreesRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestDegrees.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestDegrees.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestDegrees.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestDegrees.rs
index bfbb9f4..24c9b4b 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestDegrees.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestDegrees.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testDegreesFloatFloat(float inV) {
     return degrees(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestDegreesRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestDegreesRelaxed.rs
index 1760b34..8977aa0 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestDegreesRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestDegrees.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestDistance.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestDistance.java
similarity index 84%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestDistance.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestDistance.java
index ee69fc7..5d8dde9 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestDistance.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestDistance.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestDistance extends RSBaseCompute {
+public class TestDistance extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestDistance script;
-    private ScriptC_GeneratedTestDistanceRelaxed scriptRelaxed;
+    private ScriptC_TestDistance script;
+    private ScriptC_TestDistanceRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestDistance(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestDistanceRelaxed(mRS);
+        script = new ScriptC_TestDistance(mRS);
+        scriptRelaxed = new ScriptC_TestDistanceRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloatFloat {
@@ -85,19 +85,16 @@
             if (!valid) {
                 StringBuilder message = new StringBuilder();
                 message.append("Input inLeftVector: ");
-                message.append(String.format("%14.8g {%8x} %15a",
-                        arrayInLeftVector[i], Float.floatToRawIntBits(arrayInLeftVector[i]), arrayInLeftVector[i]));
+                appendVariableToMessage(message, arrayInLeftVector[i]);
                 message.append("\n");
                 message.append("Input inRightVector: ");
-                message.append(String.format("%14.8g {%8x} %15a",
-                        arrayInRightVector[i], Float.floatToRawIntBits(arrayInRightVector[i]), arrayInRightVector[i]));
+                appendVariableToMessage(message, arrayInRightVector[i]);
                 message.append("\n");
                 message.append("Expected output out: ");
-                message.append(args.out.toString());
+                appendVariableToMessage(message, args.out);
                 message.append("\n");
                 message.append("Actual   output out: ");
-                message.append(String.format("%14.8g {%8x} %15a",
-                        arrayOut[i], Float.floatToRawIntBits(arrayOut[i]), arrayOut[i]));
+                appendVariableToMessage(message, arrayOut[i]);
                 if (!args.out.couldBe(arrayOut[i])) {
                     message.append(" FAIL");
                 }
@@ -166,22 +163,19 @@
                 StringBuilder message = new StringBuilder();
                 for (int j = 0; j < 2 ; j++) {
                     message.append("Input inLeftVector: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayInLeftVector[i * 2 + j], Float.floatToRawIntBits(arrayInLeftVector[i * 2 + j]), arrayInLeftVector[i * 2 + j]));
+                    appendVariableToMessage(message, arrayInLeftVector[i * 2 + j]);
                     message.append("\n");
                 }
                 for (int j = 0; j < 2 ; j++) {
                     message.append("Input inRightVector: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayInRightVector[i * 2 + j], Float.floatToRawIntBits(arrayInRightVector[i * 2 + j]), arrayInRightVector[i * 2 + j]));
+                    appendVariableToMessage(message, arrayInRightVector[i * 2 + j]);
                     message.append("\n");
                 }
                 message.append("Expected output out: ");
-                message.append(args.out.toString());
+                appendVariableToMessage(message, args.out);
                 message.append("\n");
                 message.append("Actual   output out: ");
-                message.append(String.format("%14.8g {%8x} %15a",
-                        arrayOut[i], Float.floatToRawIntBits(arrayOut[i]), arrayOut[i]));
+                appendVariableToMessage(message, arrayOut[i]);
                 if (!args.out.couldBe(arrayOut[i])) {
                     message.append(" FAIL");
                 }
@@ -244,22 +238,19 @@
                 StringBuilder message = new StringBuilder();
                 for (int j = 0; j < 3 ; j++) {
                     message.append("Input inLeftVector: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayInLeftVector[i * 4 + j], Float.floatToRawIntBits(arrayInLeftVector[i * 4 + j]), arrayInLeftVector[i * 4 + j]));
+                    appendVariableToMessage(message, arrayInLeftVector[i * 4 + j]);
                     message.append("\n");
                 }
                 for (int j = 0; j < 3 ; j++) {
                     message.append("Input inRightVector: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayInRightVector[i * 4 + j], Float.floatToRawIntBits(arrayInRightVector[i * 4 + j]), arrayInRightVector[i * 4 + j]));
+                    appendVariableToMessage(message, arrayInRightVector[i * 4 + j]);
                     message.append("\n");
                 }
                 message.append("Expected output out: ");
-                message.append(args.out.toString());
+                appendVariableToMessage(message, args.out);
                 message.append("\n");
                 message.append("Actual   output out: ");
-                message.append(String.format("%14.8g {%8x} %15a",
-                        arrayOut[i], Float.floatToRawIntBits(arrayOut[i]), arrayOut[i]));
+                appendVariableToMessage(message, arrayOut[i]);
                 if (!args.out.couldBe(arrayOut[i])) {
                     message.append(" FAIL");
                 }
@@ -322,22 +313,19 @@
                 StringBuilder message = new StringBuilder();
                 for (int j = 0; j < 4 ; j++) {
                     message.append("Input inLeftVector: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayInLeftVector[i * 4 + j], Float.floatToRawIntBits(arrayInLeftVector[i * 4 + j]), arrayInLeftVector[i * 4 + j]));
+                    appendVariableToMessage(message, arrayInLeftVector[i * 4 + j]);
                     message.append("\n");
                 }
                 for (int j = 0; j < 4 ; j++) {
                     message.append("Input inRightVector: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayInRightVector[i * 4 + j], Float.floatToRawIntBits(arrayInRightVector[i * 4 + j]), arrayInRightVector[i * 4 + j]));
+                    appendVariableToMessage(message, arrayInRightVector[i * 4 + j]);
                     message.append("\n");
                 }
                 message.append("Expected output out: ");
-                message.append(args.out.toString());
+                appendVariableToMessage(message, args.out);
                 message.append("\n");
                 message.append("Actual   output out: ");
-                message.append(String.format("%14.8g {%8x} %15a",
-                        arrayOut[i], Float.floatToRawIntBits(arrayOut[i]), arrayOut[i]));
+                appendVariableToMessage(message, arrayOut[i]);
                 if (!args.out.couldBe(arrayOut[i])) {
                     message.append(" FAIL");
                 }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestDistance.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestDistance.rs
similarity index 95%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestDistance.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestDistance.rs
index cbea040..a682646 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestDistance.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestDistance.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 rs_allocation gAllocInRightVector;
 
 float __attribute__((kernel)) testDistanceFloatFloatFloat(float inLeftVector, unsigned int x) {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestDistanceRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestDistanceRelaxed.rs
index 1760b34..00b0dfd 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestDistanceRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestDistance.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestDot.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestDot.java
similarity index 84%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestDot.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestDot.java
index b9b77297..ff0cd13 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestDot.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestDot.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestDot extends RSBaseCompute {
+public class TestDot extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestDot script;
-    private ScriptC_GeneratedTestDotRelaxed scriptRelaxed;
+    private ScriptC_TestDot script;
+    private ScriptC_TestDotRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestDot(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestDotRelaxed(mRS);
+        script = new ScriptC_TestDot(mRS);
+        scriptRelaxed = new ScriptC_TestDotRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloatFloat {
@@ -85,19 +85,16 @@
             if (!valid) {
                 StringBuilder message = new StringBuilder();
                 message.append("Input inLeftVector: ");
-                message.append(String.format("%14.8g {%8x} %15a",
-                        arrayInLeftVector[i], Float.floatToRawIntBits(arrayInLeftVector[i]), arrayInLeftVector[i]));
+                appendVariableToMessage(message, arrayInLeftVector[i]);
                 message.append("\n");
                 message.append("Input inRightVector: ");
-                message.append(String.format("%14.8g {%8x} %15a",
-                        arrayInRightVector[i], Float.floatToRawIntBits(arrayInRightVector[i]), arrayInRightVector[i]));
+                appendVariableToMessage(message, arrayInRightVector[i]);
                 message.append("\n");
                 message.append("Expected output out: ");
-                message.append(args.out.toString());
+                appendVariableToMessage(message, args.out);
                 message.append("\n");
                 message.append("Actual   output out: ");
-                message.append(String.format("%14.8g {%8x} %15a",
-                        arrayOut[i], Float.floatToRawIntBits(arrayOut[i]), arrayOut[i]));
+                appendVariableToMessage(message, arrayOut[i]);
                 if (!args.out.couldBe(arrayOut[i])) {
                     message.append(" FAIL");
                 }
@@ -166,22 +163,19 @@
                 StringBuilder message = new StringBuilder();
                 for (int j = 0; j < 2 ; j++) {
                     message.append("Input inLeftVector: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayInLeftVector[i * 2 + j], Float.floatToRawIntBits(arrayInLeftVector[i * 2 + j]), arrayInLeftVector[i * 2 + j]));
+                    appendVariableToMessage(message, arrayInLeftVector[i * 2 + j]);
                     message.append("\n");
                 }
                 for (int j = 0; j < 2 ; j++) {
                     message.append("Input inRightVector: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayInRightVector[i * 2 + j], Float.floatToRawIntBits(arrayInRightVector[i * 2 + j]), arrayInRightVector[i * 2 + j]));
+                    appendVariableToMessage(message, arrayInRightVector[i * 2 + j]);
                     message.append("\n");
                 }
                 message.append("Expected output out: ");
-                message.append(args.out.toString());
+                appendVariableToMessage(message, args.out);
                 message.append("\n");
                 message.append("Actual   output out: ");
-                message.append(String.format("%14.8g {%8x} %15a",
-                        arrayOut[i], Float.floatToRawIntBits(arrayOut[i]), arrayOut[i]));
+                appendVariableToMessage(message, arrayOut[i]);
                 if (!args.out.couldBe(arrayOut[i])) {
                     message.append(" FAIL");
                 }
@@ -244,22 +238,19 @@
                 StringBuilder message = new StringBuilder();
                 for (int j = 0; j < 3 ; j++) {
                     message.append("Input inLeftVector: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayInLeftVector[i * 4 + j], Float.floatToRawIntBits(arrayInLeftVector[i * 4 + j]), arrayInLeftVector[i * 4 + j]));
+                    appendVariableToMessage(message, arrayInLeftVector[i * 4 + j]);
                     message.append("\n");
                 }
                 for (int j = 0; j < 3 ; j++) {
                     message.append("Input inRightVector: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayInRightVector[i * 4 + j], Float.floatToRawIntBits(arrayInRightVector[i * 4 + j]), arrayInRightVector[i * 4 + j]));
+                    appendVariableToMessage(message, arrayInRightVector[i * 4 + j]);
                     message.append("\n");
                 }
                 message.append("Expected output out: ");
-                message.append(args.out.toString());
+                appendVariableToMessage(message, args.out);
                 message.append("\n");
                 message.append("Actual   output out: ");
-                message.append(String.format("%14.8g {%8x} %15a",
-                        arrayOut[i], Float.floatToRawIntBits(arrayOut[i]), arrayOut[i]));
+                appendVariableToMessage(message, arrayOut[i]);
                 if (!args.out.couldBe(arrayOut[i])) {
                     message.append(" FAIL");
                 }
@@ -322,22 +313,19 @@
                 StringBuilder message = new StringBuilder();
                 for (int j = 0; j < 4 ; j++) {
                     message.append("Input inLeftVector: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayInLeftVector[i * 4 + j], Float.floatToRawIntBits(arrayInLeftVector[i * 4 + j]), arrayInLeftVector[i * 4 + j]));
+                    appendVariableToMessage(message, arrayInLeftVector[i * 4 + j]);
                     message.append("\n");
                 }
                 for (int j = 0; j < 4 ; j++) {
                     message.append("Input inRightVector: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayInRightVector[i * 4 + j], Float.floatToRawIntBits(arrayInRightVector[i * 4 + j]), arrayInRightVector[i * 4 + j]));
+                    appendVariableToMessage(message, arrayInRightVector[i * 4 + j]);
                     message.append("\n");
                 }
                 message.append("Expected output out: ");
-                message.append(args.out.toString());
+                appendVariableToMessage(message, args.out);
                 message.append("\n");
                 message.append("Actual   output out: ");
-                message.append(String.format("%14.8g {%8x} %15a",
-                        arrayOut[i], Float.floatToRawIntBits(arrayOut[i]), arrayOut[i]));
+                appendVariableToMessage(message, arrayOut[i]);
                 if (!args.out.couldBe(arrayOut[i])) {
                     message.append(" FAIL");
                 }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestDot.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestDot.rs
similarity index 95%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestDot.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestDot.rs
index cd531b4..d7559e3 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestDot.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestDot.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 rs_allocation gAllocInRightVector;
 
 float __attribute__((kernel)) testDotFloatFloatFloat(float inLeftVector, unsigned int x) {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestDotRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestDotRelaxed.rs
index 1760b34..dd94472 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestDotRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestDot.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestErf.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestErf.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestErf.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestErf.java
index f46136d..5313413 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestErf.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestErf.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestErf extends RSBaseCompute {
+public class TestErf extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestErf script;
-    private ScriptC_GeneratedTestErfRelaxed scriptRelaxed;
+    private ScriptC_TestErf script;
+    private ScriptC_TestErfRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestErf(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestErfRelaxed(mRS);
+        script = new ScriptC_TestErf(mRS);
+        scriptRelaxed = new ScriptC_TestErfRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestErf.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestErf.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestErf.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestErf.rs
index 15b4d0b..246e8fb 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestErf.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestErf.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testErfFloatFloat(float inV) {
     return erf(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestErfRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestErfRelaxed.rs
index 1760b34..5963f80 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestErfRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestErf.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestErfc.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestErfc.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestErfc.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestErfc.java
index a8a37c96..0a9d670 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestErfc.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestErfc.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestErfc extends RSBaseCompute {
+public class TestErfc extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestErfc script;
-    private ScriptC_GeneratedTestErfcRelaxed scriptRelaxed;
+    private ScriptC_TestErfc script;
+    private ScriptC_TestErfcRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestErfc(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestErfcRelaxed(mRS);
+        script = new ScriptC_TestErfc(mRS);
+        scriptRelaxed = new ScriptC_TestErfcRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestErfc.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestErfc.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestErfc.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestErfc.rs
index 154e7d8..1fc8310 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestErfc.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestErfc.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testErfcFloatFloat(float inV) {
     return erfc(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestErfcRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestErfcRelaxed.rs
index 1760b34..99449ad 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestErfcRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestErfc.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestExp.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestExp.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestExp.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestExp.java
index f2a5042..2f03d77 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestExp.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestExp.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestExp extends RSBaseCompute {
+public class TestExp extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestExp script;
-    private ScriptC_GeneratedTestExpRelaxed scriptRelaxed;
+    private ScriptC_TestExp script;
+    private ScriptC_TestExpRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestExp(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestExpRelaxed(mRS);
+        script = new ScriptC_TestExp(mRS);
+        scriptRelaxed = new ScriptC_TestExpRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestExp.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestExp.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestExp.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestExp.rs
index d7e22fa..9e25653 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestExp.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestExp.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testExpFloatFloat(float inV) {
     return exp(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestExp10.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestExp10.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestExp10.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestExp10.java
index 9253fd4..11668c7 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestExp10.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestExp10.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestExp10 extends RSBaseCompute {
+public class TestExp10 extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestExp10 script;
-    private ScriptC_GeneratedTestExp10Relaxed scriptRelaxed;
+    private ScriptC_TestExp10 script;
+    private ScriptC_TestExp10Relaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestExp10(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestExp10Relaxed(mRS);
+        script = new ScriptC_TestExp10(mRS);
+        scriptRelaxed = new ScriptC_TestExp10Relaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestExp10.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestExp10.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestExp10.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestExp10.rs
index 95e5548..cb52b10 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestExp10.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestExp10.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testExp10FloatFloat(float inV) {
     return exp10(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestExp10Relaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestExp10Relaxed.rs
index 1760b34..e3cdc42 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestExp10Relaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestExp10.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestExp2.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestExp2.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestExp2.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestExp2.java
index 32d39fa..d5696ec 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestExp2.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestExp2.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestExp2 extends RSBaseCompute {
+public class TestExp2 extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestExp2 script;
-    private ScriptC_GeneratedTestExp2Relaxed scriptRelaxed;
+    private ScriptC_TestExp2 script;
+    private ScriptC_TestExp2Relaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestExp2(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestExp2Relaxed(mRS);
+        script = new ScriptC_TestExp2(mRS);
+        scriptRelaxed = new ScriptC_TestExp2Relaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestExp2.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestExp2.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestExp2.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestExp2.rs
index d85f60a..ef44e92 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestExp2.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestExp2.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testExp2FloatFloat(float inV) {
     return exp2(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestExp2Relaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestExp2Relaxed.rs
index 1760b34..2762dec 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestExp2Relaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestExp2.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestExpRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestExpRelaxed.rs
index 1760b34..b0aeb3e 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestExpRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestExp.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestExpm1.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestExpm1.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestExpm1.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestExpm1.java
index 3c9921c..93596f7 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestExpm1.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestExpm1.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestExpm1 extends RSBaseCompute {
+public class TestExpm1 extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestExpm1 script;
-    private ScriptC_GeneratedTestExpm1Relaxed scriptRelaxed;
+    private ScriptC_TestExpm1 script;
+    private ScriptC_TestExpm1Relaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestExpm1(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestExpm1Relaxed(mRS);
+        script = new ScriptC_TestExpm1(mRS);
+        scriptRelaxed = new ScriptC_TestExpm1Relaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestExpm1.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestExpm1.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestExpm1.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestExpm1.rs
index 45faabd..6cc0986 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestExpm1.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestExpm1.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testExpm1FloatFloat(float inV) {
     return expm1(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestExpm1Relaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestExpm1Relaxed.rs
index 1760b34..2dfc6b3 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestExpm1Relaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestExpm1.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFabs.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFabs.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFabs.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestFabs.java
index 5f73747..38c5321 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFabs.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFabs.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestFabs extends RSBaseCompute {
+public class TestFabs extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestFabs script;
-    private ScriptC_GeneratedTestFabsRelaxed scriptRelaxed;
+    private ScriptC_TestFabs script;
+    private ScriptC_TestFabsRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestFabs(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestFabsRelaxed(mRS);
+        script = new ScriptC_TestFabs(mRS);
+        scriptRelaxed = new ScriptC_TestFabsRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFabs.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFabs.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFabs.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestFabs.rs
index 61ba16f..87d8b1e 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFabs.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFabs.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testFabsFloatFloat(float inV) {
     return fabs(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFabsRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFabsRelaxed.rs
similarity index 86%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFabsRelaxed.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestFabsRelaxed.rs
index 50a30ca..a43e74d 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFabsRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFabsRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestFabs.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestFabs.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFastDistance.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFastDistance.java
similarity index 84%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFastDistance.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestFastDistance.java
index 817f0bc..a1181ba 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFastDistance.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFastDistance.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestFastDistance extends RSBaseCompute {
+public class TestFastDistance extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestFastDistance script;
-    private ScriptC_GeneratedTestFastDistanceRelaxed scriptRelaxed;
+    private ScriptC_TestFastDistance script;
+    private ScriptC_TestFastDistanceRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestFastDistance(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestFastDistanceRelaxed(mRS);
+        script = new ScriptC_TestFastDistance(mRS);
+        scriptRelaxed = new ScriptC_TestFastDistanceRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloatFloat {
@@ -85,19 +85,16 @@
             if (!valid) {
                 StringBuilder message = new StringBuilder();
                 message.append("Input inLeftVector: ");
-                message.append(String.format("%14.8g {%8x} %15a",
-                        arrayInLeftVector[i], Float.floatToRawIntBits(arrayInLeftVector[i]), arrayInLeftVector[i]));
+                appendVariableToMessage(message, arrayInLeftVector[i]);
                 message.append("\n");
                 message.append("Input inRightVector: ");
-                message.append(String.format("%14.8g {%8x} %15a",
-                        arrayInRightVector[i], Float.floatToRawIntBits(arrayInRightVector[i]), arrayInRightVector[i]));
+                appendVariableToMessage(message, arrayInRightVector[i]);
                 message.append("\n");
                 message.append("Expected output out: ");
-                message.append(args.out.toString());
+                appendVariableToMessage(message, args.out);
                 message.append("\n");
                 message.append("Actual   output out: ");
-                message.append(String.format("%14.8g {%8x} %15a",
-                        arrayOut[i], Float.floatToRawIntBits(arrayOut[i]), arrayOut[i]));
+                appendVariableToMessage(message, arrayOut[i]);
                 if (!args.out.couldBe(arrayOut[i])) {
                     message.append(" FAIL");
                 }
@@ -166,22 +163,19 @@
                 StringBuilder message = new StringBuilder();
                 for (int j = 0; j < 2 ; j++) {
                     message.append("Input inLeftVector: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayInLeftVector[i * 2 + j], Float.floatToRawIntBits(arrayInLeftVector[i * 2 + j]), arrayInLeftVector[i * 2 + j]));
+                    appendVariableToMessage(message, arrayInLeftVector[i * 2 + j]);
                     message.append("\n");
                 }
                 for (int j = 0; j < 2 ; j++) {
                     message.append("Input inRightVector: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayInRightVector[i * 2 + j], Float.floatToRawIntBits(arrayInRightVector[i * 2 + j]), arrayInRightVector[i * 2 + j]));
+                    appendVariableToMessage(message, arrayInRightVector[i * 2 + j]);
                     message.append("\n");
                 }
                 message.append("Expected output out: ");
-                message.append(args.out.toString());
+                appendVariableToMessage(message, args.out);
                 message.append("\n");
                 message.append("Actual   output out: ");
-                message.append(String.format("%14.8g {%8x} %15a",
-                        arrayOut[i], Float.floatToRawIntBits(arrayOut[i]), arrayOut[i]));
+                appendVariableToMessage(message, arrayOut[i]);
                 if (!args.out.couldBe(arrayOut[i])) {
                     message.append(" FAIL");
                 }
@@ -244,22 +238,19 @@
                 StringBuilder message = new StringBuilder();
                 for (int j = 0; j < 3 ; j++) {
                     message.append("Input inLeftVector: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayInLeftVector[i * 4 + j], Float.floatToRawIntBits(arrayInLeftVector[i * 4 + j]), arrayInLeftVector[i * 4 + j]));
+                    appendVariableToMessage(message, arrayInLeftVector[i * 4 + j]);
                     message.append("\n");
                 }
                 for (int j = 0; j < 3 ; j++) {
                     message.append("Input inRightVector: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayInRightVector[i * 4 + j], Float.floatToRawIntBits(arrayInRightVector[i * 4 + j]), arrayInRightVector[i * 4 + j]));
+                    appendVariableToMessage(message, arrayInRightVector[i * 4 + j]);
                     message.append("\n");
                 }
                 message.append("Expected output out: ");
-                message.append(args.out.toString());
+                appendVariableToMessage(message, args.out);
                 message.append("\n");
                 message.append("Actual   output out: ");
-                message.append(String.format("%14.8g {%8x} %15a",
-                        arrayOut[i], Float.floatToRawIntBits(arrayOut[i]), arrayOut[i]));
+                appendVariableToMessage(message, arrayOut[i]);
                 if (!args.out.couldBe(arrayOut[i])) {
                     message.append(" FAIL");
                 }
@@ -322,22 +313,19 @@
                 StringBuilder message = new StringBuilder();
                 for (int j = 0; j < 4 ; j++) {
                     message.append("Input inLeftVector: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayInLeftVector[i * 4 + j], Float.floatToRawIntBits(arrayInLeftVector[i * 4 + j]), arrayInLeftVector[i * 4 + j]));
+                    appendVariableToMessage(message, arrayInLeftVector[i * 4 + j]);
                     message.append("\n");
                 }
                 for (int j = 0; j < 4 ; j++) {
                     message.append("Input inRightVector: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayInRightVector[i * 4 + j], Float.floatToRawIntBits(arrayInRightVector[i * 4 + j]), arrayInRightVector[i * 4 + j]));
+                    appendVariableToMessage(message, arrayInRightVector[i * 4 + j]);
                     message.append("\n");
                 }
                 message.append("Expected output out: ");
-                message.append(args.out.toString());
+                appendVariableToMessage(message, args.out);
                 message.append("\n");
                 message.append("Actual   output out: ");
-                message.append(String.format("%14.8g {%8x} %15a",
-                        arrayOut[i], Float.floatToRawIntBits(arrayOut[i]), arrayOut[i]));
+                appendVariableToMessage(message, arrayOut[i]);
                 if (!args.out.couldBe(arrayOut[i])) {
                     message.append(" FAIL");
                 }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFastDistance.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFastDistance.rs
similarity index 95%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFastDistance.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestFastDistance.rs
index 1101207..114523b 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFastDistance.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFastDistance.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 rs_allocation gAllocInRightVector;
 
 float __attribute__((kernel)) testFastDistanceFloatFloatFloat(float inLeftVector, unsigned int x) {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFastDistanceRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestFastDistanceRelaxed.rs
index 1760b34..cb52325 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFastDistanceRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestFastDistance.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFastLength.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFastLength.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFastLength.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestFastLength.java
index 007a635..26c800b 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFastLength.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFastLength.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestFastLength extends RSBaseCompute {
+public class TestFastLength extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestFastLength script;
-    private ScriptC_GeneratedTestFastLengthRelaxed scriptRelaxed;
+    private ScriptC_TestFastLength script;
+    private ScriptC_TestFastLengthRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestFastLength(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestFastLengthRelaxed(mRS);
+        script = new ScriptC_TestFastLength(mRS);
+        scriptRelaxed = new ScriptC_TestFastLengthRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
             if (!valid) {
                 StringBuilder message = new StringBuilder();
                 message.append("Input inV: ");
-                message.append(String.format("%14.8g {%8x} %15a",
-                        arrayInV[i], Float.floatToRawIntBits(arrayInV[i]), arrayInV[i]));
+                appendVariableToMessage(message, arrayInV[i]);
                 message.append("\n");
                 message.append("Expected output out: ");
-                message.append(args.out.toString());
+                appendVariableToMessage(message, args.out);
                 message.append("\n");
                 message.append("Actual   output out: ");
-                message.append(String.format("%14.8g {%8x} %15a",
-                        arrayOut[i], Float.floatToRawIntBits(arrayOut[i]), arrayOut[i]));
+                appendVariableToMessage(message, arrayOut[i]);
                 if (!args.out.couldBe(arrayOut[i])) {
                     message.append(" FAIL");
                 }
@@ -145,16 +143,14 @@
                 StringBuilder message = new StringBuilder();
                 for (int j = 0; j < 2 ; j++) {
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayInV[i * 2 + j], Float.floatToRawIntBits(arrayInV[i * 2 + j]), arrayInV[i * 2 + j]));
+                    appendVariableToMessage(message, arrayInV[i * 2 + j]);
                     message.append("\n");
                 }
                 message.append("Expected output out: ");
-                message.append(args.out.toString());
+                appendVariableToMessage(message, args.out);
                 message.append("\n");
                 message.append("Actual   output out: ");
-                message.append(String.format("%14.8g {%8x} %15a",
-                        arrayOut[i], Float.floatToRawIntBits(arrayOut[i]), arrayOut[i]));
+                appendVariableToMessage(message, arrayOut[i]);
                 if (!args.out.couldBe(arrayOut[i])) {
                     message.append(" FAIL");
                 }
@@ -208,16 +204,14 @@
                 StringBuilder message = new StringBuilder();
                 for (int j = 0; j < 3 ; j++) {
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayInV[i * 4 + j], Float.floatToRawIntBits(arrayInV[i * 4 + j]), arrayInV[i * 4 + j]));
+                    appendVariableToMessage(message, arrayInV[i * 4 + j]);
                     message.append("\n");
                 }
                 message.append("Expected output out: ");
-                message.append(args.out.toString());
+                appendVariableToMessage(message, args.out);
                 message.append("\n");
                 message.append("Actual   output out: ");
-                message.append(String.format("%14.8g {%8x} %15a",
-                        arrayOut[i], Float.floatToRawIntBits(arrayOut[i]), arrayOut[i]));
+                appendVariableToMessage(message, arrayOut[i]);
                 if (!args.out.couldBe(arrayOut[i])) {
                     message.append(" FAIL");
                 }
@@ -271,16 +265,14 @@
                 StringBuilder message = new StringBuilder();
                 for (int j = 0; j < 4 ; j++) {
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayInV[i * 4 + j], Float.floatToRawIntBits(arrayInV[i * 4 + j]), arrayInV[i * 4 + j]));
+                    appendVariableToMessage(message, arrayInV[i * 4 + j]);
                     message.append("\n");
                 }
                 message.append("Expected output out: ");
-                message.append(args.out.toString());
+                appendVariableToMessage(message, args.out);
                 message.append("\n");
                 message.append("Actual   output out: ");
-                message.append(String.format("%14.8g {%8x} %15a",
-                        arrayOut[i], Float.floatToRawIntBits(arrayOut[i]), arrayOut[i]));
+                appendVariableToMessage(message, arrayOut[i]);
                 if (!args.out.couldBe(arrayOut[i])) {
                     message.append(" FAIL");
                 }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFastLength.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFastLength.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFastLength.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestFastLength.rs
index f4fc853..46619d7 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFastLength.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFastLength.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testFastLengthFloatFloat(float inV) {
     return fast_length(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFastLengthRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestFastLengthRelaxed.rs
index 1760b34..d85126a 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFastLengthRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestFastLength.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFastNormalize.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFastNormalize.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFastNormalize.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestFastNormalize.java
index e5df624..211a6e6 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFastNormalize.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFastNormalize.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestFastNormalize extends RSBaseCompute {
+public class TestFastNormalize extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestFastNormalize script;
-    private ScriptC_GeneratedTestFastNormalizeRelaxed scriptRelaxed;
+    private ScriptC_TestFastNormalize script;
+    private ScriptC_TestFastNormalizeRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestFastNormalize(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestFastNormalizeRelaxed(mRS);
+        script = new ScriptC_TestFastNormalize(mRS);
+        scriptRelaxed = new ScriptC_TestFastNormalizeRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
             if (!valid) {
                 StringBuilder message = new StringBuilder();
                 message.append("Input inV: ");
-                message.append(String.format("%14.8g {%8x} %15a",
-                        arrayInV[i], Float.floatToRawIntBits(arrayInV[i]), arrayInV[i]));
+                appendVariableToMessage(message, arrayInV[i]);
                 message.append("\n");
                 message.append("Expected output out: ");
-                message.append(args.out.toString());
+                appendVariableToMessage(message, args.out);
                 message.append("\n");
                 message.append("Actual   output out: ");
-                message.append(String.format("%14.8g {%8x} %15a",
-                        arrayOut[i], Float.floatToRawIntBits(arrayOut[i]), arrayOut[i]));
+                appendVariableToMessage(message, arrayOut[i]);
                 if (!args.out.couldBe(arrayOut[i])) {
                     message.append(" FAIL");
                 }
@@ -148,17 +146,15 @@
                 StringBuilder message = new StringBuilder();
                 for (int j = 0; j < 2 ; j++) {
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayInV[i * 2 + j], Float.floatToRawIntBits(arrayInV[i * 2 + j]), arrayInV[i * 2 + j]));
+                    appendVariableToMessage(message, arrayInV[i * 2 + j]);
                     message.append("\n");
                 }
                 for (int j = 0; j < 2 ; j++) {
                     message.append("Expected output out: ");
-                    message.append(args.out[j].toString());
+                    appendVariableToMessage(message, args.out[j]);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out[j].couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -216,17 +212,15 @@
                 StringBuilder message = new StringBuilder();
                 for (int j = 0; j < 3 ; j++) {
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayInV[i * 4 + j], Float.floatToRawIntBits(arrayInV[i * 4 + j]), arrayInV[i * 4 + j]));
+                    appendVariableToMessage(message, arrayInV[i * 4 + j]);
                     message.append("\n");
                 }
                 for (int j = 0; j < 3 ; j++) {
                     message.append("Expected output out: ");
-                    message.append(args.out[j].toString());
+                    appendVariableToMessage(message, args.out[j]);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out[j].couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -284,17 +278,15 @@
                 StringBuilder message = new StringBuilder();
                 for (int j = 0; j < 4 ; j++) {
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayInV[i * 4 + j], Float.floatToRawIntBits(arrayInV[i * 4 + j]), arrayInV[i * 4 + j]));
+                    appendVariableToMessage(message, arrayInV[i * 4 + j]);
                     message.append("\n");
                 }
                 for (int j = 0; j < 4 ; j++) {
                     message.append("Expected output out: ");
-                    message.append(args.out[j].toString());
+                    appendVariableToMessage(message, args.out[j]);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out[j].couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFastNormalize.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFastNormalize.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFastNormalize.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestFastNormalize.rs
index 449c49c..e5f009c 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFastNormalize.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFastNormalize.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testFastNormalizeFloatFloat(float inV) {
     return fast_normalize(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeTanpiRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFastNormalizeRelaxed.rs
similarity index 85%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeTanpiRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestFastNormalizeRelaxed.rs
index 095f4b5..e8549e3 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeTanpiRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFastNormalizeRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNativeTanpi.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestFastNormalize.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFdim.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFdim.java
similarity index 83%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFdim.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestFdim.java
index eff3e49..7d053fa 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFdim.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFdim.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestFdim extends RSBaseCompute {
+public class TestFdim extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestFdim script;
-    private ScriptC_GeneratedTestFdimRelaxed scriptRelaxed;
+    private ScriptC_TestFdim script;
+    private ScriptC_TestFdimRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestFdim(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestFdimRelaxed(mRS);
+        script = new ScriptC_TestFdim(mRS);
+        scriptRelaxed = new ScriptC_TestFdimRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloatFloat {
@@ -85,19 +85,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inA, Float.floatToRawIntBits(args.inA), args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inB, Float.floatToRawIntBits(args.inB), args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -154,19 +151,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inA, Float.floatToRawIntBits(args.inA), args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inB, Float.floatToRawIntBits(args.inB), args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -223,19 +217,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inA, Float.floatToRawIntBits(args.inA), args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inB, Float.floatToRawIntBits(args.inB), args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -292,19 +283,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inA, Float.floatToRawIntBits(args.inA), args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inB, Float.floatToRawIntBits(args.inB), args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFdim.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFdim.rs
similarity index 94%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFdim.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestFdim.rs
index 8f68c14..e93485c 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFdim.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFdim.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 rs_allocation gAllocInB;
 
 float __attribute__((kernel)) testFdimFloatFloatFloat(float inA, unsigned int x) {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFdimRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestFdimRelaxed.rs
index 1760b34..caa61eb 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFdimRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestFdim.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFloor.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFloor.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFloor.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestFloor.java
index 295c1fe..3b17241 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFloor.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFloor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestFloor extends RSBaseCompute {
+public class TestFloor extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestFloor script;
-    private ScriptC_GeneratedTestFloorRelaxed scriptRelaxed;
+    private ScriptC_TestFloor script;
+    private ScriptC_TestFloorRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestFloor(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestFloorRelaxed(mRS);
+        script = new ScriptC_TestFloor(mRS);
+        scriptRelaxed = new ScriptC_TestFloorRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFloor.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFloor.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFloor.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestFloor.rs
index abb50e3..94dc5a6 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFloor.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFloor.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testFloorFloatFloat(float inV) {
     return floor(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFloorRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestFloorRelaxed.rs
index 1760b34..6b5b69d 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFloorRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestFloor.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFma.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFma.java
similarity index 82%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFma.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestFma.java
index c8b0c0f..24923a3 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFma.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFma.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestFma extends RSBaseCompute {
+public class TestFma extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestFma script;
-    private ScriptC_GeneratedTestFmaRelaxed scriptRelaxed;
+    private ScriptC_TestFma script;
+    private ScriptC_TestFmaRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestFma(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestFmaRelaxed(mRS);
+        script = new ScriptC_TestFma(mRS);
+        scriptRelaxed = new ScriptC_TestFmaRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloatFloatFloat {
@@ -92,23 +92,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inMultiplicand1: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inMultiplicand1, Float.floatToRawIntBits(args.inMultiplicand1), args.inMultiplicand1));
+                    appendVariableToMessage(message, args.inMultiplicand1);
                     message.append("\n");
                     message.append("Input inMultiplicand2: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inMultiplicand2, Float.floatToRawIntBits(args.inMultiplicand2), args.inMultiplicand2));
+                    appendVariableToMessage(message, args.inMultiplicand2);
                     message.append("\n");
                     message.append("Input inOffset: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inOffset, Float.floatToRawIntBits(args.inOffset), args.inOffset));
+                    appendVariableToMessage(message, args.inOffset);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -171,23 +167,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inMultiplicand1: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inMultiplicand1, Float.floatToRawIntBits(args.inMultiplicand1), args.inMultiplicand1));
+                    appendVariableToMessage(message, args.inMultiplicand1);
                     message.append("\n");
                     message.append("Input inMultiplicand2: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inMultiplicand2, Float.floatToRawIntBits(args.inMultiplicand2), args.inMultiplicand2));
+                    appendVariableToMessage(message, args.inMultiplicand2);
                     message.append("\n");
                     message.append("Input inOffset: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inOffset, Float.floatToRawIntBits(args.inOffset), args.inOffset));
+                    appendVariableToMessage(message, args.inOffset);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -250,23 +242,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inMultiplicand1: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inMultiplicand1, Float.floatToRawIntBits(args.inMultiplicand1), args.inMultiplicand1));
+                    appendVariableToMessage(message, args.inMultiplicand1);
                     message.append("\n");
                     message.append("Input inMultiplicand2: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inMultiplicand2, Float.floatToRawIntBits(args.inMultiplicand2), args.inMultiplicand2));
+                    appendVariableToMessage(message, args.inMultiplicand2);
                     message.append("\n");
                     message.append("Input inOffset: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inOffset, Float.floatToRawIntBits(args.inOffset), args.inOffset));
+                    appendVariableToMessage(message, args.inOffset);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -329,23 +317,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inMultiplicand1: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inMultiplicand1, Float.floatToRawIntBits(args.inMultiplicand1), args.inMultiplicand1));
+                    appendVariableToMessage(message, args.inMultiplicand1);
                     message.append("\n");
                     message.append("Input inMultiplicand2: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inMultiplicand2, Float.floatToRawIntBits(args.inMultiplicand2), args.inMultiplicand2));
+                    appendVariableToMessage(message, args.inMultiplicand2);
                     message.append("\n");
                     message.append("Input inOffset: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inOffset, Float.floatToRawIntBits(args.inOffset), args.inOffset));
+                    appendVariableToMessage(message, args.inOffset);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFma.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFma.rs
similarity index 96%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFma.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestFma.rs
index cc67007..1b720c1 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFma.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFma.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 rs_allocation gAllocInMultiplicand2;
 rs_allocation gAllocInOffset;
 
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFmaRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestFmaRelaxed.rs
index 1760b34..723cbd6 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFmaRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestFma.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFmax.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFmax.java
similarity index 84%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFmax.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestFmax.java
index abe0c9e..046b564 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFmax.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFmax.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestFmax extends RSBaseCompute {
+public class TestFmax extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestFmax script;
-    private ScriptC_GeneratedTestFmaxRelaxed scriptRelaxed;
+    private ScriptC_TestFmax script;
+    private ScriptC_TestFmaxRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestFmax(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestFmaxRelaxed(mRS);
+        script = new ScriptC_TestFmax(mRS);
+        scriptRelaxed = new ScriptC_TestFmaxRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloatFloat {
@@ -85,19 +85,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inA, Float.floatToRawIntBits(args.inA), args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inB, Float.floatToRawIntBits(args.inB), args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -154,19 +151,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inA, Float.floatToRawIntBits(args.inA), args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inB, Float.floatToRawIntBits(args.inB), args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -223,19 +217,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inA, Float.floatToRawIntBits(args.inA), args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inB, Float.floatToRawIntBits(args.inB), args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -292,19 +283,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inA, Float.floatToRawIntBits(args.inA), args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inB, Float.floatToRawIntBits(args.inB), args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -361,19 +349,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inA, Float.floatToRawIntBits(args.inA), args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inB, Float.floatToRawIntBits(args.inB), args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -430,19 +415,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inA, Float.floatToRawIntBits(args.inA), args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inB, Float.floatToRawIntBits(args.inB), args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -499,19 +481,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inA, Float.floatToRawIntBits(args.inA), args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inB, Float.floatToRawIntBits(args.inB), args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFmax.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFmax.rs
similarity index 95%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFmax.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestFmax.rs
index 59eb2bd..418c5c1 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFmax.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFmax.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 rs_allocation gAllocInB;
 
 float __attribute__((kernel)) testFmaxFloatFloatFloat(float inA, unsigned int x) {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFmaxRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestFmaxRelaxed.rs
index 1760b34..e0a124b 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFmaxRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestFmax.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFmin.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFmin.java
similarity index 84%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFmin.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestFmin.java
index 8183585..2b05df4 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFmin.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFmin.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestFmin extends RSBaseCompute {
+public class TestFmin extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestFmin script;
-    private ScriptC_GeneratedTestFminRelaxed scriptRelaxed;
+    private ScriptC_TestFmin script;
+    private ScriptC_TestFminRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestFmin(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestFminRelaxed(mRS);
+        script = new ScriptC_TestFmin(mRS);
+        scriptRelaxed = new ScriptC_TestFminRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloatFloat {
@@ -85,19 +85,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inA, Float.floatToRawIntBits(args.inA), args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inB, Float.floatToRawIntBits(args.inB), args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -154,19 +151,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inA, Float.floatToRawIntBits(args.inA), args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inB, Float.floatToRawIntBits(args.inB), args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -223,19 +217,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inA, Float.floatToRawIntBits(args.inA), args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inB, Float.floatToRawIntBits(args.inB), args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -292,19 +283,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inA, Float.floatToRawIntBits(args.inA), args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inB, Float.floatToRawIntBits(args.inB), args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -361,19 +349,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inA, Float.floatToRawIntBits(args.inA), args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inB, Float.floatToRawIntBits(args.inB), args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -430,19 +415,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inA, Float.floatToRawIntBits(args.inA), args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inB, Float.floatToRawIntBits(args.inB), args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -499,19 +481,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inA, Float.floatToRawIntBits(args.inA), args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inB, Float.floatToRawIntBits(args.inB), args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFmin.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFmin.rs
similarity index 95%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFmin.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestFmin.rs
index 0846051..1e25a34 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFmin.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFmin.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 rs_allocation gAllocInB;
 
 float __attribute__((kernel)) testFminFloatFloatFloat(float inA, unsigned int x) {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFminRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestFminRelaxed.rs
index 1760b34..cee70ab 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFminRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestFmin.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFmod.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFmod.java
similarity index 83%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFmod.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestFmod.java
index 0096e27..72beaa4 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFmod.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFmod.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestFmod extends RSBaseCompute {
+public class TestFmod extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestFmod script;
-    private ScriptC_GeneratedTestFmodRelaxed scriptRelaxed;
+    private ScriptC_TestFmod script;
+    private ScriptC_TestFmodRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestFmod(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestFmodRelaxed(mRS);
+        script = new ScriptC_TestFmod(mRS);
+        scriptRelaxed = new ScriptC_TestFmodRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloatFloat {
@@ -85,19 +85,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inNumerator: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inNumerator, Float.floatToRawIntBits(args.inNumerator), args.inNumerator));
+                    appendVariableToMessage(message, args.inNumerator);
                     message.append("\n");
                     message.append("Input inDenominator: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inDenominator, Float.floatToRawIntBits(args.inDenominator), args.inDenominator));
+                    appendVariableToMessage(message, args.inDenominator);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -154,19 +151,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inNumerator: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inNumerator, Float.floatToRawIntBits(args.inNumerator), args.inNumerator));
+                    appendVariableToMessage(message, args.inNumerator);
                     message.append("\n");
                     message.append("Input inDenominator: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inDenominator, Float.floatToRawIntBits(args.inDenominator), args.inDenominator));
+                    appendVariableToMessage(message, args.inDenominator);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -223,19 +217,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inNumerator: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inNumerator, Float.floatToRawIntBits(args.inNumerator), args.inNumerator));
+                    appendVariableToMessage(message, args.inNumerator);
                     message.append("\n");
                     message.append("Input inDenominator: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inDenominator, Float.floatToRawIntBits(args.inDenominator), args.inDenominator));
+                    appendVariableToMessage(message, args.inDenominator);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -292,19 +283,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inNumerator: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inNumerator, Float.floatToRawIntBits(args.inNumerator), args.inNumerator));
+                    appendVariableToMessage(message, args.inNumerator);
                     message.append("\n");
                     message.append("Input inDenominator: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inDenominator, Float.floatToRawIntBits(args.inDenominator), args.inDenominator));
+                    appendVariableToMessage(message, args.inDenominator);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFmod.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFmod.rs
similarity index 95%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFmod.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestFmod.rs
index d8238aa..8582fae 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFmod.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFmod.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 rs_allocation gAllocInDenominator;
 
 float __attribute__((kernel)) testFmodFloatFloatFloat(float inNumerator, unsigned int x) {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFmodRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestFmodRelaxed.rs
index 1760b34..08b8164 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFmodRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestFmod.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFract.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFract.java
similarity index 84%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFract.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestFract.java
index 0367b05..ce7a671 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFract.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFract.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestFract extends RSBaseCompute {
+public class TestFract extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestFract script;
-    private ScriptC_GeneratedTestFractRelaxed scriptRelaxed;
+    private ScriptC_TestFract script;
+    private ScriptC_TestFractRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestFract(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestFractRelaxed(mRS);
+        script = new ScriptC_TestFract(mRS);
+        scriptRelaxed = new ScriptC_TestFractRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloatFloat {
@@ -88,25 +88,22 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output outFloor: ");
-                    message.append(args.outFloor.toString());
+                    appendVariableToMessage(message, args.outFloor);
                     message.append("\n");
                     message.append("Actual   output outFloor: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOutFloor[i * 1 + j], Float.floatToRawIntBits(arrayOutFloor[i * 1 + j]), arrayOutFloor[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOutFloor[i * 1 + j]);
                     if (!args.outFloor.couldBe(arrayOutFloor[i * 1 + j])) {
                         message.append(" FAIL");
                     }
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -166,25 +163,22 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output outFloor: ");
-                    message.append(args.outFloor.toString());
+                    appendVariableToMessage(message, args.outFloor);
                     message.append("\n");
                     message.append("Actual   output outFloor: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOutFloor[i * 2 + j], Float.floatToRawIntBits(arrayOutFloor[i * 2 + j]), arrayOutFloor[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOutFloor[i * 2 + j]);
                     if (!args.outFloor.couldBe(arrayOutFloor[i * 2 + j])) {
                         message.append(" FAIL");
                     }
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -244,25 +238,22 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output outFloor: ");
-                    message.append(args.outFloor.toString());
+                    appendVariableToMessage(message, args.outFloor);
                     message.append("\n");
                     message.append("Actual   output outFloor: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOutFloor[i * 4 + j], Float.floatToRawIntBits(arrayOutFloor[i * 4 + j]), arrayOutFloor[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOutFloor[i * 4 + j]);
                     if (!args.outFloor.couldBe(arrayOutFloor[i * 4 + j])) {
                         message.append(" FAIL");
                     }
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -322,25 +313,22 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output outFloor: ");
-                    message.append(args.outFloor.toString());
+                    appendVariableToMessage(message, args.outFloor);
                     message.append("\n");
                     message.append("Actual   output outFloor: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOutFloor[i * 4 + j], Float.floatToRawIntBits(arrayOutFloor[i * 4 + j]), arrayOutFloor[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOutFloor[i * 4 + j]);
                     if (!args.outFloor.couldBe(arrayOutFloor[i * 4 + j])) {
                         message.append(" FAIL");
                     }
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -396,15 +384,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -455,15 +441,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -514,15 +498,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -573,15 +555,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFract.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFract.rs
similarity index 96%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFract.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestFract.rs
index 38351ab..cbc61fa 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFract.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFract.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 rs_allocation gAllocOutFloor;
 
 float __attribute__((kernel)) testFractFloatFloatFloat(float inV, unsigned int x) {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFractRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestFractRelaxed.rs
index 1760b34..26aa16a 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFractRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestFract.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFrexp.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFrexp.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFrexp.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestFrexp.java
index 47e400d..6d47860 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFrexp.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFrexp.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestFrexp extends RSBaseCompute {
+public class TestFrexp extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestFrexp script;
-    private ScriptC_GeneratedTestFrexpRelaxed scriptRelaxed;
+    private ScriptC_TestFrexp script;
+    private ScriptC_TestFrexpRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestFrexp(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestFrexpRelaxed(mRS);
+        script = new ScriptC_TestFrexp(mRS);
+        scriptRelaxed = new ScriptC_TestFrexpRelaxed(mRS);
     }
 
     public class ArgumentsFloatIntFloat {
@@ -88,24 +88,22 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output outExponent: ");
-                    message.append(String.format("%d", args.outExponent));
+                    appendVariableToMessage(message, args.outExponent);
                     message.append("\n");
                     message.append("Actual   output outExponent: ");
-                    message.append(String.format("%d", arrayOutExponent[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOutExponent[i * 1 + j]);
                     if (args.outExponent != arrayOutExponent[i * 1 + j]) {
                         message.append(" FAIL");
                     }
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -165,24 +163,22 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output outExponent: ");
-                    message.append(String.format("%d", args.outExponent));
+                    appendVariableToMessage(message, args.outExponent);
                     message.append("\n");
                     message.append("Actual   output outExponent: ");
-                    message.append(String.format("%d", arrayOutExponent[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOutExponent[i * 2 + j]);
                     if (args.outExponent != arrayOutExponent[i * 2 + j]) {
                         message.append(" FAIL");
                     }
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -242,24 +238,22 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output outExponent: ");
-                    message.append(String.format("%d", args.outExponent));
+                    appendVariableToMessage(message, args.outExponent);
                     message.append("\n");
                     message.append("Actual   output outExponent: ");
-                    message.append(String.format("%d", arrayOutExponent[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOutExponent[i * 4 + j]);
                     if (args.outExponent != arrayOutExponent[i * 4 + j]) {
                         message.append(" FAIL");
                     }
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -319,24 +313,22 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output outExponent: ");
-                    message.append(String.format("%d", args.outExponent));
+                    appendVariableToMessage(message, args.outExponent);
                     message.append("\n");
                     message.append("Actual   output outExponent: ");
-                    message.append(String.format("%d", arrayOutExponent[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOutExponent[i * 4 + j]);
                     if (args.outExponent != arrayOutExponent[i * 4 + j]) {
                         message.append(" FAIL");
                     }
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFrexp.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFrexp.rs
similarity index 95%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFrexp.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestFrexp.rs
index 7193fe6..901ed3b 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestFrexp.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFrexp.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 rs_allocation gAllocOutExponent;
 
 float __attribute__((kernel)) testFrexpFloatIntFloat(float inV, unsigned int x) {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFrexpRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestFrexpRelaxed.rs
index 1760b34..88acd21 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFrexpRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestFrexp.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestHalfRecip.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestHalfRecip.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestHalfRecip.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestHalfRecip.java
index 5648d96..854d432 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestHalfRecip.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestHalfRecip.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestHalfRecip extends RSBaseCompute {
+public class TestHalfRecip extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestHalfRecip script;
-    private ScriptC_GeneratedTestHalfRecipRelaxed scriptRelaxed;
+    private ScriptC_TestHalfRecip script;
+    private ScriptC_TestHalfRecipRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestHalfRecip(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestHalfRecipRelaxed(mRS);
+        script = new ScriptC_TestHalfRecip(mRS);
+        scriptRelaxed = new ScriptC_TestHalfRecipRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestHalfRecip.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestHalfRecip.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestHalfRecip.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestHalfRecip.rs
index 03c5802..f8bcc3b 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestHalfRecip.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestHalfRecip.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testHalfRecipFloatFloat(float inV) {
     return half_recip(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestHalfRecipRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestHalfRecipRelaxed.rs
index 1760b34..ded5ceb 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestHalfRecipRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestHalfRecip.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestHalfRsqrt.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestHalfRsqrt.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestHalfRsqrt.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestHalfRsqrt.java
index ac3a7d9..68746e7 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestHalfRsqrt.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestHalfRsqrt.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestHalfRsqrt extends RSBaseCompute {
+public class TestHalfRsqrt extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestHalfRsqrt script;
-    private ScriptC_GeneratedTestHalfRsqrtRelaxed scriptRelaxed;
+    private ScriptC_TestHalfRsqrt script;
+    private ScriptC_TestHalfRsqrtRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestHalfRsqrt(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestHalfRsqrtRelaxed(mRS);
+        script = new ScriptC_TestHalfRsqrt(mRS);
+        scriptRelaxed = new ScriptC_TestHalfRsqrtRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestHalfRsqrt.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestHalfRsqrt.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestHalfRsqrt.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestHalfRsqrt.rs
index 27840d1..fcb34c2 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestHalfRsqrt.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestHalfRsqrt.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testHalfRsqrtFloatFloat(float inV) {
     return half_rsqrt(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestHalfRsqrtRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestHalfRsqrtRelaxed.rs
index 1760b34..a7928a8 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestHalfRsqrtRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestHalfRsqrt.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestHalfSqrt.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestHalfSqrt.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestHalfSqrt.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestHalfSqrt.java
index ee7ae11..a924937 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestHalfSqrt.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestHalfSqrt.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestHalfSqrt extends RSBaseCompute {
+public class TestHalfSqrt extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestHalfSqrt script;
-    private ScriptC_GeneratedTestHalfSqrtRelaxed scriptRelaxed;
+    private ScriptC_TestHalfSqrt script;
+    private ScriptC_TestHalfSqrtRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestHalfSqrt(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestHalfSqrtRelaxed(mRS);
+        script = new ScriptC_TestHalfSqrt(mRS);
+        scriptRelaxed = new ScriptC_TestHalfSqrtRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestHalfSqrt.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestHalfSqrt.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestHalfSqrt.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestHalfSqrt.rs
index d785e44..db18b05 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestHalfSqrt.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestHalfSqrt.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testHalfSqrtFloatFloat(float inV) {
     return half_sqrt(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestHalfSqrtRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestHalfSqrtRelaxed.rs
index 1760b34..6fcd519 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestHalfSqrtRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestHalfSqrt.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestHypot.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestHypot.java
similarity index 83%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestHypot.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestHypot.java
index 006562f..d2231b2 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestHypot.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestHypot.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestHypot extends RSBaseCompute {
+public class TestHypot extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestHypot script;
-    private ScriptC_GeneratedTestHypotRelaxed scriptRelaxed;
+    private ScriptC_TestHypot script;
+    private ScriptC_TestHypotRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestHypot(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestHypotRelaxed(mRS);
+        script = new ScriptC_TestHypot(mRS);
+        scriptRelaxed = new ScriptC_TestHypotRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloatFloat {
@@ -85,19 +85,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inA, Float.floatToRawIntBits(args.inA), args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inB, Float.floatToRawIntBits(args.inB), args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -154,19 +151,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inA, Float.floatToRawIntBits(args.inA), args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inB, Float.floatToRawIntBits(args.inB), args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -223,19 +217,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inA, Float.floatToRawIntBits(args.inA), args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inB, Float.floatToRawIntBits(args.inB), args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -292,19 +283,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inA, Float.floatToRawIntBits(args.inA), args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inB, Float.floatToRawIntBits(args.inB), args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestHypot.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestHypot.rs
similarity index 94%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestHypot.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestHypot.rs
index 655344c..fcaae50 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestHypot.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestHypot.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 rs_allocation gAllocInB;
 
 float __attribute__((kernel)) testHypotFloatFloatFloat(float inA, unsigned int x) {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestHypotRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestHypotRelaxed.rs
index 1760b34..90f3d69 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestHypotRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestHypot.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestIlogb.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestIlogb.java
similarity index 88%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestIlogb.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestIlogb.java
index dd72973..dddddf5 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestIlogb.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestIlogb.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestIlogb extends RSBaseCompute {
+public class TestIlogb extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestIlogb script;
-    private ScriptC_GeneratedTestIlogbRelaxed scriptRelaxed;
+    private ScriptC_TestIlogb script;
+    private ScriptC_TestIlogbRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestIlogb(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestIlogbRelaxed(mRS);
+        script = new ScriptC_TestIlogb(mRS);
+        scriptRelaxed = new ScriptC_TestIlogbRelaxed(mRS);
     }
 
     public class ArgumentsFloatInt {
@@ -75,11 +75,10 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append(errorMessage);
                     assertTrue("Incorrect output for checkIlogbFloatInt" +
@@ -125,11 +124,10 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append(errorMessage);
                     assertTrue("Incorrect output for checkIlogbFloat2Int2" +
@@ -175,11 +173,10 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append(errorMessage);
                     assertTrue("Incorrect output for checkIlogbFloat3Int3" +
@@ -225,11 +222,10 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append(errorMessage);
                     assertTrue("Incorrect output for checkIlogbFloat4Int4" +
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestIlogb.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestIlogb.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestIlogb.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestIlogb.rs
index fbc070d..f93ab80 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestIlogb.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestIlogb.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 int __attribute__((kernel)) testIlogbFloatInt(float inV) {
     return ilogb(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestIlogbRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestIlogbRelaxed.rs
index 1760b34..995b659 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestIlogbRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestIlogb.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLdexp.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLdexp.java
similarity index 86%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLdexp.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestLdexp.java
index 6ac13b7..5f85aeb 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLdexp.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLdexp.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestLdexp extends RSBaseCompute {
+public class TestLdexp extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestLdexp script;
-    private ScriptC_GeneratedTestLdexpRelaxed scriptRelaxed;
+    private ScriptC_TestLdexp script;
+    private ScriptC_TestLdexpRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestLdexp(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestLdexpRelaxed(mRS);
+        script = new ScriptC_TestLdexp(mRS);
+        scriptRelaxed = new ScriptC_TestLdexpRelaxed(mRS);
     }
 
     public class ArgumentsFloatIntFloat {
@@ -85,18 +85,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inMantissa: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inMantissa, Float.floatToRawIntBits(args.inMantissa), args.inMantissa));
+                    appendVariableToMessage(message, args.inMantissa);
                     message.append("\n");
                     message.append("Input inExponent: ");
-                    message.append(String.format("%d", args.inExponent));
+                    appendVariableToMessage(message, args.inExponent);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -153,18 +151,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inMantissa: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inMantissa, Float.floatToRawIntBits(args.inMantissa), args.inMantissa));
+                    appendVariableToMessage(message, args.inMantissa);
                     message.append("\n");
                     message.append("Input inExponent: ");
-                    message.append(String.format("%d", args.inExponent));
+                    appendVariableToMessage(message, args.inExponent);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -221,18 +217,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inMantissa: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inMantissa, Float.floatToRawIntBits(args.inMantissa), args.inMantissa));
+                    appendVariableToMessage(message, args.inMantissa);
                     message.append("\n");
                     message.append("Input inExponent: ");
-                    message.append(String.format("%d", args.inExponent));
+                    appendVariableToMessage(message, args.inExponent);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -289,18 +283,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inMantissa: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inMantissa, Float.floatToRawIntBits(args.inMantissa), args.inMantissa));
+                    appendVariableToMessage(message, args.inMantissa);
                     message.append("\n");
                     message.append("Input inExponent: ");
-                    message.append(String.format("%d", args.inExponent));
+                    appendVariableToMessage(message, args.inExponent);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -357,18 +349,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inMantissa: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inMantissa, Float.floatToRawIntBits(args.inMantissa), args.inMantissa));
+                    appendVariableToMessage(message, args.inMantissa);
                     message.append("\n");
                     message.append("Input inExponent: ");
-                    message.append(String.format("%d", args.inExponent));
+                    appendVariableToMessage(message, args.inExponent);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -425,18 +415,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inMantissa: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inMantissa, Float.floatToRawIntBits(args.inMantissa), args.inMantissa));
+                    appendVariableToMessage(message, args.inMantissa);
                     message.append("\n");
                     message.append("Input inExponent: ");
-                    message.append(String.format("%d", args.inExponent));
+                    appendVariableToMessage(message, args.inExponent);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -493,18 +481,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inMantissa: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inMantissa, Float.floatToRawIntBits(args.inMantissa), args.inMantissa));
+                    appendVariableToMessage(message, args.inMantissa);
                     message.append("\n");
                     message.append("Input inExponent: ");
-                    message.append(String.format("%d", args.inExponent));
+                    appendVariableToMessage(message, args.inExponent);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLdexp.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLdexp.rs
similarity index 96%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLdexp.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestLdexp.rs
index b08dee7..212a2e6 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLdexp.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLdexp.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 rs_allocation gAllocInExponent;
 
 float __attribute__((kernel)) testLdexpFloatIntFloat(float inMantissa, unsigned int x) {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLdexpRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestLdexpRelaxed.rs
index 1760b34..2ab8836 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLdexpRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestLdexp.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLength.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLength.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLength.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestLength.java
index 30a9ed5..3aa7964 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLength.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLength.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestLength extends RSBaseCompute {
+public class TestLength extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestLength script;
-    private ScriptC_GeneratedTestLengthRelaxed scriptRelaxed;
+    private ScriptC_TestLength script;
+    private ScriptC_TestLengthRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestLength(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestLengthRelaxed(mRS);
+        script = new ScriptC_TestLength(mRS);
+        scriptRelaxed = new ScriptC_TestLengthRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
             if (!valid) {
                 StringBuilder message = new StringBuilder();
                 message.append("Input inV: ");
-                message.append(String.format("%14.8g {%8x} %15a",
-                        arrayInV[i], Float.floatToRawIntBits(arrayInV[i]), arrayInV[i]));
+                appendVariableToMessage(message, arrayInV[i]);
                 message.append("\n");
                 message.append("Expected output out: ");
-                message.append(args.out.toString());
+                appendVariableToMessage(message, args.out);
                 message.append("\n");
                 message.append("Actual   output out: ");
-                message.append(String.format("%14.8g {%8x} %15a",
-                        arrayOut[i], Float.floatToRawIntBits(arrayOut[i]), arrayOut[i]));
+                appendVariableToMessage(message, arrayOut[i]);
                 if (!args.out.couldBe(arrayOut[i])) {
                     message.append(" FAIL");
                 }
@@ -145,16 +143,14 @@
                 StringBuilder message = new StringBuilder();
                 for (int j = 0; j < 2 ; j++) {
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayInV[i * 2 + j], Float.floatToRawIntBits(arrayInV[i * 2 + j]), arrayInV[i * 2 + j]));
+                    appendVariableToMessage(message, arrayInV[i * 2 + j]);
                     message.append("\n");
                 }
                 message.append("Expected output out: ");
-                message.append(args.out.toString());
+                appendVariableToMessage(message, args.out);
                 message.append("\n");
                 message.append("Actual   output out: ");
-                message.append(String.format("%14.8g {%8x} %15a",
-                        arrayOut[i], Float.floatToRawIntBits(arrayOut[i]), arrayOut[i]));
+                appendVariableToMessage(message, arrayOut[i]);
                 if (!args.out.couldBe(arrayOut[i])) {
                     message.append(" FAIL");
                 }
@@ -208,16 +204,14 @@
                 StringBuilder message = new StringBuilder();
                 for (int j = 0; j < 3 ; j++) {
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayInV[i * 4 + j], Float.floatToRawIntBits(arrayInV[i * 4 + j]), arrayInV[i * 4 + j]));
+                    appendVariableToMessage(message, arrayInV[i * 4 + j]);
                     message.append("\n");
                 }
                 message.append("Expected output out: ");
-                message.append(args.out.toString());
+                appendVariableToMessage(message, args.out);
                 message.append("\n");
                 message.append("Actual   output out: ");
-                message.append(String.format("%14.8g {%8x} %15a",
-                        arrayOut[i], Float.floatToRawIntBits(arrayOut[i]), arrayOut[i]));
+                appendVariableToMessage(message, arrayOut[i]);
                 if (!args.out.couldBe(arrayOut[i])) {
                     message.append(" FAIL");
                 }
@@ -271,16 +265,14 @@
                 StringBuilder message = new StringBuilder();
                 for (int j = 0; j < 4 ; j++) {
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayInV[i * 4 + j], Float.floatToRawIntBits(arrayInV[i * 4 + j]), arrayInV[i * 4 + j]));
+                    appendVariableToMessage(message, arrayInV[i * 4 + j]);
                     message.append("\n");
                 }
                 message.append("Expected output out: ");
-                message.append(args.out.toString());
+                appendVariableToMessage(message, args.out);
                 message.append("\n");
                 message.append("Actual   output out: ");
-                message.append(String.format("%14.8g {%8x} %15a",
-                        arrayOut[i], Float.floatToRawIntBits(arrayOut[i]), arrayOut[i]));
+                appendVariableToMessage(message, arrayOut[i]);
                 if (!args.out.couldBe(arrayOut[i])) {
                     message.append(" FAIL");
                 }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLength.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLength.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLength.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestLength.rs
index 3239dbd..f9c451e 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLength.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLength.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testLengthFloatFloat(float inV) {
     return length(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLengthRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestLengthRelaxed.rs
index 1760b34..695ff5e 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLengthRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestLength.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLgamma.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLgamma.java
similarity index 88%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLgamma.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestLgamma.java
index 773b92a..a9bf973 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLgamma.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLgamma.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestLgamma extends RSBaseCompute {
+public class TestLgamma extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestLgamma script;
-    private ScriptC_GeneratedTestLgammaRelaxed scriptRelaxed;
+    private ScriptC_TestLgamma script;
+    private ScriptC_TestLgammaRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestLgamma(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestLgammaRelaxed(mRS);
+        script = new ScriptC_TestLgamma(mRS);
+        scriptRelaxed = new ScriptC_TestLgammaRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -325,14 +317,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Output outSignOfGamma: ");
-                    message.append(String.format("%d", args.outSignOfGamma));
+                    appendVariableToMessage(message, args.outSignOfGamma);
                     message.append("\n");
                     message.append("Output out: ");
-                    message.append(Float.toString(args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append(errorMessage);
                     assertTrue("Incorrect output for checkLgammaFloatIntFloat" +
@@ -386,14 +377,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Output outSignOfGamma: ");
-                    message.append(String.format("%d", args.outSignOfGamma));
+                    appendVariableToMessage(message, args.outSignOfGamma);
                     message.append("\n");
                     message.append("Output out: ");
-                    message.append(Float.toString(args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append(errorMessage);
                     assertTrue("Incorrect output for checkLgammaFloat2Int2Float2" +
@@ -447,14 +437,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Output outSignOfGamma: ");
-                    message.append(String.format("%d", args.outSignOfGamma));
+                    appendVariableToMessage(message, args.outSignOfGamma);
                     message.append("\n");
                     message.append("Output out: ");
-                    message.append(Float.toString(args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append(errorMessage);
                     assertTrue("Incorrect output for checkLgammaFloat3Int3Float3" +
@@ -508,14 +497,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Output outSignOfGamma: ");
-                    message.append(String.format("%d", args.outSignOfGamma));
+                    appendVariableToMessage(message, args.outSignOfGamma);
                     message.append("\n");
                     message.append("Output out: ");
-                    message.append(Float.toString(args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append(errorMessage);
                     assertTrue("Incorrect output for checkLgammaFloat4Int4Float4" +
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLgamma.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLgamma.rs
similarity index 96%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLgamma.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestLgamma.rs
index c07df46..69cfa03 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLgamma.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLgamma.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testLgammaFloatFloat(float inV) {
     return lgamma(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLgammaRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestLgammaRelaxed.rs
index 1760b34..c781ec2 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLgammaRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestLgamma.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLog.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLog.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLog.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestLog.java
index cd593d3..59d612d 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLog.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLog.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestLog extends RSBaseCompute {
+public class TestLog extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestLog script;
-    private ScriptC_GeneratedTestLogRelaxed scriptRelaxed;
+    private ScriptC_TestLog script;
+    private ScriptC_TestLogRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestLog(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestLogRelaxed(mRS);
+        script = new ScriptC_TestLog(mRS);
+        scriptRelaxed = new ScriptC_TestLogRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLog.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLog.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLog.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestLog.rs
index b228e97..53c9a7d 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLog.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLog.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testLogFloatFloat(float inV) {
     return log(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLog10.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLog10.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLog10.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestLog10.java
index c3a815e..1271640 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLog10.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLog10.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestLog10 extends RSBaseCompute {
+public class TestLog10 extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestLog10 script;
-    private ScriptC_GeneratedTestLog10Relaxed scriptRelaxed;
+    private ScriptC_TestLog10 script;
+    private ScriptC_TestLog10Relaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestLog10(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestLog10Relaxed(mRS);
+        script = new ScriptC_TestLog10(mRS);
+        scriptRelaxed = new ScriptC_TestLog10Relaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLog10.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLog10.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLog10.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestLog10.rs
index 601c02b..e9b1670 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLog10.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLog10.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testLog10FloatFloat(float inV) {
     return log10(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLog10Relaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestLog10Relaxed.rs
index 1760b34..90b767a 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLog10Relaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestLog10.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLog1p.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLog1p.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLog1p.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestLog1p.java
index 20d39f8..4cb23ba 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLog1p.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLog1p.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestLog1p extends RSBaseCompute {
+public class TestLog1p extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestLog1p script;
-    private ScriptC_GeneratedTestLog1pRelaxed scriptRelaxed;
+    private ScriptC_TestLog1p script;
+    private ScriptC_TestLog1pRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestLog1p(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestLog1pRelaxed(mRS);
+        script = new ScriptC_TestLog1p(mRS);
+        scriptRelaxed = new ScriptC_TestLog1pRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLog1p.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLog1p.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLog1p.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestLog1p.rs
index 27ea4af..feb8f68 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLog1p.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLog1p.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testLog1pFloatFloat(float inV) {
     return log1p(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLog1pRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestLog1pRelaxed.rs
index 1760b34..f40b18c 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLog1pRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestLog1p.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLog2.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLog2.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLog2.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestLog2.java
index 850f283..25676bf 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLog2.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLog2.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestLog2 extends RSBaseCompute {
+public class TestLog2 extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestLog2 script;
-    private ScriptC_GeneratedTestLog2Relaxed scriptRelaxed;
+    private ScriptC_TestLog2 script;
+    private ScriptC_TestLog2Relaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestLog2(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestLog2Relaxed(mRS);
+        script = new ScriptC_TestLog2(mRS);
+        scriptRelaxed = new ScriptC_TestLog2Relaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLog2.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLog2.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLog2.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestLog2.rs
index a9d6a06..8f6d43c 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLog2.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLog2.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testLog2FloatFloat(float inV) {
     return log2(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLog2Relaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestLog2Relaxed.rs
index 1760b34..e3fc556 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLog2Relaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestLog2.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLogRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestLogRelaxed.rs
index 1760b34..9664748 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLogRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestLog.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLogb.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLogb.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLogb.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestLogb.java
index bf4abe0..67bd1c3 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLogb.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLogb.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestLogb extends RSBaseCompute {
+public class TestLogb extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestLogb script;
-    private ScriptC_GeneratedTestLogbRelaxed scriptRelaxed;
+    private ScriptC_TestLogb script;
+    private ScriptC_TestLogbRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestLogb(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestLogbRelaxed(mRS);
+        script = new ScriptC_TestLogb(mRS);
+        scriptRelaxed = new ScriptC_TestLogbRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLogb.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLogb.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLogb.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestLogb.rs
index e0ca286..40f012a 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestLogb.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLogb.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testLogbFloatFloat(float inV) {
     return logb(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLogbRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestLogbRelaxed.rs
index 1760b34..134e4b7 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLogbRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestLogb.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestMad.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestMad.java
similarity index 82%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestMad.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestMad.java
index 418bd9d..4cbbf73 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestMad.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestMad.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestMad extends RSBaseCompute {
+public class TestMad extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestMad script;
-    private ScriptC_GeneratedTestMadRelaxed scriptRelaxed;
+    private ScriptC_TestMad script;
+    private ScriptC_TestMadRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestMad(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestMadRelaxed(mRS);
+        script = new ScriptC_TestMad(mRS);
+        scriptRelaxed = new ScriptC_TestMadRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloatFloatFloat {
@@ -92,23 +92,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inMultiplicand1: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inMultiplicand1, Float.floatToRawIntBits(args.inMultiplicand1), args.inMultiplicand1));
+                    appendVariableToMessage(message, args.inMultiplicand1);
                     message.append("\n");
                     message.append("Input inMultiplicand2: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inMultiplicand2, Float.floatToRawIntBits(args.inMultiplicand2), args.inMultiplicand2));
+                    appendVariableToMessage(message, args.inMultiplicand2);
                     message.append("\n");
                     message.append("Input inOffset: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inOffset, Float.floatToRawIntBits(args.inOffset), args.inOffset));
+                    appendVariableToMessage(message, args.inOffset);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -171,23 +167,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inMultiplicand1: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inMultiplicand1, Float.floatToRawIntBits(args.inMultiplicand1), args.inMultiplicand1));
+                    appendVariableToMessage(message, args.inMultiplicand1);
                     message.append("\n");
                     message.append("Input inMultiplicand2: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inMultiplicand2, Float.floatToRawIntBits(args.inMultiplicand2), args.inMultiplicand2));
+                    appendVariableToMessage(message, args.inMultiplicand2);
                     message.append("\n");
                     message.append("Input inOffset: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inOffset, Float.floatToRawIntBits(args.inOffset), args.inOffset));
+                    appendVariableToMessage(message, args.inOffset);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -250,23 +242,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inMultiplicand1: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inMultiplicand1, Float.floatToRawIntBits(args.inMultiplicand1), args.inMultiplicand1));
+                    appendVariableToMessage(message, args.inMultiplicand1);
                     message.append("\n");
                     message.append("Input inMultiplicand2: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inMultiplicand2, Float.floatToRawIntBits(args.inMultiplicand2), args.inMultiplicand2));
+                    appendVariableToMessage(message, args.inMultiplicand2);
                     message.append("\n");
                     message.append("Input inOffset: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inOffset, Float.floatToRawIntBits(args.inOffset), args.inOffset));
+                    appendVariableToMessage(message, args.inOffset);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -329,23 +317,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inMultiplicand1: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inMultiplicand1, Float.floatToRawIntBits(args.inMultiplicand1), args.inMultiplicand1));
+                    appendVariableToMessage(message, args.inMultiplicand1);
                     message.append("\n");
                     message.append("Input inMultiplicand2: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inMultiplicand2, Float.floatToRawIntBits(args.inMultiplicand2), args.inMultiplicand2));
+                    appendVariableToMessage(message, args.inMultiplicand2);
                     message.append("\n");
                     message.append("Input inOffset: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inOffset, Float.floatToRawIntBits(args.inOffset), args.inOffset));
+                    appendVariableToMessage(message, args.inOffset);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestMad.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestMad.rs
similarity index 96%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestMad.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestMad.rs
index 3808b26..aee9b23 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestMad.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestMad.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 rs_allocation gAllocInMultiplicand2;
 rs_allocation gAllocInOffset;
 
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestMadRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestMadRelaxed.rs
index 1760b34..a5e9a97 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestMadRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestMad.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestMax.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestMax.java
similarity index 90%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestMax.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestMax.java
index 1961200..042f0ae 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestMax.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestMax.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestMax extends RSBaseCompute {
+public class TestMax extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestMax script;
-    private ScriptC_GeneratedTestMaxRelaxed scriptRelaxed;
+    private ScriptC_TestMax script;
+    private ScriptC_TestMaxRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestMax(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestMaxRelaxed(mRS);
+        script = new ScriptC_TestMax(mRS);
+        scriptRelaxed = new ScriptC_TestMaxRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloatFloat {
@@ -85,19 +85,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inA, Float.floatToRawIntBits(args.inA), args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inB, Float.floatToRawIntBits(args.inB), args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -154,19 +151,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inA, Float.floatToRawIntBits(args.inA), args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inB, Float.floatToRawIntBits(args.inB), args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -223,19 +217,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inA, Float.floatToRawIntBits(args.inA), args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inB, Float.floatToRawIntBits(args.inB), args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -292,19 +283,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inA, Float.floatToRawIntBits(args.inA), args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inB, Float.floatToRawIntBits(args.inB), args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -366,16 +354,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%d", args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%d", args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (args.out != arrayOut[i * 1 + j]) {
                         message.append(" FAIL");
                     }
@@ -431,16 +419,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%d", args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%d", args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -496,16 +484,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%d", args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%d", args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -561,16 +549,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%d", args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%d", args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -632,16 +620,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("0x%x", args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("0x%x", args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (args.out != arrayOut[i * 1 + j]) {
                         message.append(" FAIL");
                     }
@@ -697,16 +685,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("0x%x", args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("0x%x", args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -762,16 +750,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("0x%x", args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("0x%x", args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -827,16 +815,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("0x%x", args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("0x%x", args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -898,16 +886,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%d", args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%d", args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (args.out != arrayOut[i * 1 + j]) {
                         message.append(" FAIL");
                     }
@@ -963,16 +951,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%d", args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%d", args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -1028,16 +1016,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%d", args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%d", args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -1093,16 +1081,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%d", args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%d", args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -1164,16 +1152,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("0x%x", args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("0x%x", args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (args.out != arrayOut[i * 1 + j]) {
                         message.append(" FAIL");
                     }
@@ -1229,16 +1217,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("0x%x", args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("0x%x", args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -1294,16 +1282,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("0x%x", args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("0x%x", args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -1359,16 +1347,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("0x%x", args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("0x%x", args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -1430,16 +1418,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%d", args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%d", args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (args.out != arrayOut[i * 1 + j]) {
                         message.append(" FAIL");
                     }
@@ -1495,16 +1483,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%d", args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%d", args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -1560,16 +1548,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%d", args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%d", args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -1625,16 +1613,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%d", args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%d", args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -1696,16 +1684,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("0x%x", args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("0x%x", args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (args.out != arrayOut[i * 1 + j]) {
                         message.append(" FAIL");
                     }
@@ -1761,16 +1749,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("0x%x", args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("0x%x", args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -1826,16 +1814,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("0x%x", args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("0x%x", args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -1891,16 +1879,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("0x%x", args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("0x%x", args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -1962,16 +1950,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%d", args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%d", args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (args.out != arrayOut[i * 1 + j]) {
                         message.append(" FAIL");
                     }
@@ -2027,16 +2015,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%d", args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%d", args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -2092,16 +2080,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%d", args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%d", args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -2157,16 +2145,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%d", args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%d", args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -2228,16 +2216,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("0x%x", args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("0x%x", args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (args.out != arrayOut[i * 1 + j]) {
                         message.append(" FAIL");
                     }
@@ -2293,16 +2281,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("0x%x", args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("0x%x", args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -2358,16 +2346,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("0x%x", args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("0x%x", args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -2423,16 +2411,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("0x%x", args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("0x%x", args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestMax.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestMax.rs
similarity index 98%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestMax.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestMax.rs
index ae8dd6a..b582b0d 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestMax.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestMax.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 rs_allocation gAllocInB;
 
 float __attribute__((kernel)) testMaxFloatFloatFloat(float inA, unsigned int x) {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestMaxRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestMaxRelaxed.rs
index 1760b34..2f3fecc 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestMaxRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestMax.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestMin.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestMin.java
similarity index 90%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestMin.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestMin.java
index 46a888ee..be77bac 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestMin.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestMin.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestMin extends RSBaseCompute {
+public class TestMin extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestMin script;
-    private ScriptC_GeneratedTestMinRelaxed scriptRelaxed;
+    private ScriptC_TestMin script;
+    private ScriptC_TestMinRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestMin(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestMinRelaxed(mRS);
+        script = new ScriptC_TestMin(mRS);
+        scriptRelaxed = new ScriptC_TestMinRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloatFloat {
@@ -85,19 +85,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inA, Float.floatToRawIntBits(args.inA), args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inB, Float.floatToRawIntBits(args.inB), args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -154,19 +151,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inA, Float.floatToRawIntBits(args.inA), args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inB, Float.floatToRawIntBits(args.inB), args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -223,19 +217,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inA, Float.floatToRawIntBits(args.inA), args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inB, Float.floatToRawIntBits(args.inB), args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -292,19 +283,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inA, Float.floatToRawIntBits(args.inA), args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inB, Float.floatToRawIntBits(args.inB), args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -366,16 +354,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%d", args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%d", args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (args.out != arrayOut[i * 1 + j]) {
                         message.append(" FAIL");
                     }
@@ -431,16 +419,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%d", args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%d", args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -496,16 +484,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%d", args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%d", args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -561,16 +549,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%d", args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%d", args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -632,16 +620,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("0x%x", args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("0x%x", args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (args.out != arrayOut[i * 1 + j]) {
                         message.append(" FAIL");
                     }
@@ -697,16 +685,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("0x%x", args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("0x%x", args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -762,16 +750,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("0x%x", args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("0x%x", args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -827,16 +815,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("0x%x", args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("0x%x", args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -898,16 +886,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%d", args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%d", args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (args.out != arrayOut[i * 1 + j]) {
                         message.append(" FAIL");
                     }
@@ -963,16 +951,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%d", args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%d", args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -1028,16 +1016,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%d", args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%d", args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -1093,16 +1081,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%d", args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%d", args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -1164,16 +1152,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("0x%x", args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("0x%x", args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (args.out != arrayOut[i * 1 + j]) {
                         message.append(" FAIL");
                     }
@@ -1229,16 +1217,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("0x%x", args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("0x%x", args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -1294,16 +1282,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("0x%x", args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("0x%x", args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -1359,16 +1347,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("0x%x", args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("0x%x", args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -1430,16 +1418,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%d", args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%d", args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (args.out != arrayOut[i * 1 + j]) {
                         message.append(" FAIL");
                     }
@@ -1495,16 +1483,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%d", args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%d", args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -1560,16 +1548,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%d", args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%d", args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -1625,16 +1613,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%d", args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%d", args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -1696,16 +1684,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("0x%x", args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("0x%x", args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (args.out != arrayOut[i * 1 + j]) {
                         message.append(" FAIL");
                     }
@@ -1761,16 +1749,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("0x%x", args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("0x%x", args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -1826,16 +1814,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("0x%x", args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("0x%x", args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -1891,16 +1879,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("0x%x", args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("0x%x", args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -1962,16 +1950,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%d", args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%d", args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (args.out != arrayOut[i * 1 + j]) {
                         message.append(" FAIL");
                     }
@@ -2027,16 +2015,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%d", args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%d", args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -2092,16 +2080,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%d", args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%d", args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -2157,16 +2145,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%d", args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%d", args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("%d", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%d", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -2228,16 +2216,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("0x%x", args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("0x%x", args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (args.out != arrayOut[i * 1 + j]) {
                         message.append(" FAIL");
                     }
@@ -2293,16 +2281,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("0x%x", args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("0x%x", args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (args.out != arrayOut[i * 2 + j]) {
                         message.append(" FAIL");
                     }
@@ -2358,16 +2346,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("0x%x", args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("0x%x", args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
@@ -2423,16 +2411,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("0x%x", args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("0x%x", args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(String.format("0x%x", args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("0x%x", arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (args.out != arrayOut[i * 4 + j]) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestMin.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestMin.rs
similarity index 98%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestMin.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestMin.rs
index 4242cf2..eec9fb6 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestMin.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestMin.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 rs_allocation gAllocInB;
 
 float __attribute__((kernel)) testMinFloatFloatFloat(float inA, unsigned int x) {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestMinRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestMinRelaxed.rs
index 1760b34..5c6564b 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestMinRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestMin.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestMix.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestMix.java
similarity index 82%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestMix.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestMix.java
index 9853a0c..0b6203f 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestMix.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestMix.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestMix extends RSBaseCompute {
+public class TestMix extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestMix script;
-    private ScriptC_GeneratedTestMixRelaxed scriptRelaxed;
+    private ScriptC_TestMix script;
+    private ScriptC_TestMixRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestMix(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestMixRelaxed(mRS);
+        script = new ScriptC_TestMix(mRS);
+        scriptRelaxed = new ScriptC_TestMixRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloatFloatFloat {
@@ -92,23 +92,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inStart: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inStart, Float.floatToRawIntBits(args.inStart), args.inStart));
+                    appendVariableToMessage(message, args.inStart);
                     message.append("\n");
                     message.append("Input inStop: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inStop, Float.floatToRawIntBits(args.inStop), args.inStop));
+                    appendVariableToMessage(message, args.inStop);
                     message.append("\n");
                     message.append("Input inFraction: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inFraction, Float.floatToRawIntBits(args.inFraction), args.inFraction));
+                    appendVariableToMessage(message, args.inFraction);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -171,23 +167,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inStart: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inStart, Float.floatToRawIntBits(args.inStart), args.inStart));
+                    appendVariableToMessage(message, args.inStart);
                     message.append("\n");
                     message.append("Input inStop: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inStop, Float.floatToRawIntBits(args.inStop), args.inStop));
+                    appendVariableToMessage(message, args.inStop);
                     message.append("\n");
                     message.append("Input inFraction: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inFraction, Float.floatToRawIntBits(args.inFraction), args.inFraction));
+                    appendVariableToMessage(message, args.inFraction);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -250,23 +242,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inStart: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inStart, Float.floatToRawIntBits(args.inStart), args.inStart));
+                    appendVariableToMessage(message, args.inStart);
                     message.append("\n");
                     message.append("Input inStop: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inStop, Float.floatToRawIntBits(args.inStop), args.inStop));
+                    appendVariableToMessage(message, args.inStop);
                     message.append("\n");
                     message.append("Input inFraction: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inFraction, Float.floatToRawIntBits(args.inFraction), args.inFraction));
+                    appendVariableToMessage(message, args.inFraction);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -329,23 +317,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inStart: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inStart, Float.floatToRawIntBits(args.inStart), args.inStart));
+                    appendVariableToMessage(message, args.inStart);
                     message.append("\n");
                     message.append("Input inStop: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inStop, Float.floatToRawIntBits(args.inStop), args.inStop));
+                    appendVariableToMessage(message, args.inStop);
                     message.append("\n");
                     message.append("Input inFraction: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inFraction, Float.floatToRawIntBits(args.inFraction), args.inFraction));
+                    appendVariableToMessage(message, args.inFraction);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -408,23 +392,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inStart: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inStart, Float.floatToRawIntBits(args.inStart), args.inStart));
+                    appendVariableToMessage(message, args.inStart);
                     message.append("\n");
                     message.append("Input inStop: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inStop, Float.floatToRawIntBits(args.inStop), args.inStop));
+                    appendVariableToMessage(message, args.inStop);
                     message.append("\n");
                     message.append("Input inFraction: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inFraction, Float.floatToRawIntBits(args.inFraction), args.inFraction));
+                    appendVariableToMessage(message, args.inFraction);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -487,23 +467,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inStart: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inStart, Float.floatToRawIntBits(args.inStart), args.inStart));
+                    appendVariableToMessage(message, args.inStart);
                     message.append("\n");
                     message.append("Input inStop: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inStop, Float.floatToRawIntBits(args.inStop), args.inStop));
+                    appendVariableToMessage(message, args.inStop);
                     message.append("\n");
                     message.append("Input inFraction: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inFraction, Float.floatToRawIntBits(args.inFraction), args.inFraction));
+                    appendVariableToMessage(message, args.inFraction);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -566,23 +542,19 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inStart: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inStart, Float.floatToRawIntBits(args.inStart), args.inStart));
+                    appendVariableToMessage(message, args.inStart);
                     message.append("\n");
                     message.append("Input inStop: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inStop, Float.floatToRawIntBits(args.inStop), args.inStop));
+                    appendVariableToMessage(message, args.inStop);
                     message.append("\n");
                     message.append("Input inFraction: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inFraction, Float.floatToRawIntBits(args.inFraction), args.inFraction));
+                    appendVariableToMessage(message, args.inFraction);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestMix.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestMix.rs
similarity index 96%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestMix.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestMix.rs
index bb4e2dc..b83d927 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestMix.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestMix.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 rs_allocation gAllocInStop;
 rs_allocation gAllocInFraction;
 
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestMixRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestMixRelaxed.rs
index 1760b34..50e5e4d 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestMixRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestMix.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestModf.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestModf.java
similarity index 83%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestModf.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestModf.java
index a5d5d4c..26263ce 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestModf.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestModf.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestModf extends RSBaseCompute {
+public class TestModf extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestModf script;
-    private ScriptC_GeneratedTestModfRelaxed scriptRelaxed;
+    private ScriptC_TestModf script;
+    private ScriptC_TestModfRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestModf(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestModfRelaxed(mRS);
+        script = new ScriptC_TestModf(mRS);
+        scriptRelaxed = new ScriptC_TestModfRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloatFloat {
@@ -88,25 +88,22 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output outIntegralPart: ");
-                    message.append(args.outIntegralPart.toString());
+                    appendVariableToMessage(message, args.outIntegralPart);
                     message.append("\n");
                     message.append("Actual   output outIntegralPart: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOutIntegralPart[i * 1 + j], Float.floatToRawIntBits(arrayOutIntegralPart[i * 1 + j]), arrayOutIntegralPart[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOutIntegralPart[i * 1 + j]);
                     if (!args.outIntegralPart.couldBe(arrayOutIntegralPart[i * 1 + j])) {
                         message.append(" FAIL");
                     }
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -166,25 +163,22 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output outIntegralPart: ");
-                    message.append(args.outIntegralPart.toString());
+                    appendVariableToMessage(message, args.outIntegralPart);
                     message.append("\n");
                     message.append("Actual   output outIntegralPart: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOutIntegralPart[i * 2 + j], Float.floatToRawIntBits(arrayOutIntegralPart[i * 2 + j]), arrayOutIntegralPart[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOutIntegralPart[i * 2 + j]);
                     if (!args.outIntegralPart.couldBe(arrayOutIntegralPart[i * 2 + j])) {
                         message.append(" FAIL");
                     }
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -244,25 +238,22 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output outIntegralPart: ");
-                    message.append(args.outIntegralPart.toString());
+                    appendVariableToMessage(message, args.outIntegralPart);
                     message.append("\n");
                     message.append("Actual   output outIntegralPart: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOutIntegralPart[i * 4 + j], Float.floatToRawIntBits(arrayOutIntegralPart[i * 4 + j]), arrayOutIntegralPart[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOutIntegralPart[i * 4 + j]);
                     if (!args.outIntegralPart.couldBe(arrayOutIntegralPart[i * 4 + j])) {
                         message.append(" FAIL");
                     }
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -322,25 +313,22 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output outIntegralPart: ");
-                    message.append(args.outIntegralPart.toString());
+                    appendVariableToMessage(message, args.outIntegralPart);
                     message.append("\n");
                     message.append("Actual   output outIntegralPart: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOutIntegralPart[i * 4 + j], Float.floatToRawIntBits(arrayOutIntegralPart[i * 4 + j]), arrayOutIntegralPart[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOutIntegralPart[i * 4 + j]);
                     if (!args.outIntegralPart.couldBe(arrayOutIntegralPart[i * 4 + j])) {
                         message.append(" FAIL");
                     }
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestModf.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestModf.rs
similarity index 95%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestModf.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestModf.rs
index 3e7aa15..802ab70 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestModf.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestModf.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 rs_allocation gAllocOutIntegralPart;
 
 float __attribute__((kernel)) testModfFloatFloatFloat(float inV, unsigned int x) {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestModfRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestModfRelaxed.rs
index 1760b34..33dd422 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestModfRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestModf.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNan.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNan.java
similarity index 84%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNan.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNan.java
index 29bbab7..7c1f89c 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNan.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNan.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestNan extends RSBaseCompute {
+public class TestNan extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestNan script;
-    private ScriptC_GeneratedTestNanRelaxed scriptRelaxed;
+    private ScriptC_TestNan script;
+    private ScriptC_TestNanRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestNan(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestNanRelaxed(mRS);
+        script = new ScriptC_TestNan(mRS);
+        scriptRelaxed = new ScriptC_TestNanRelaxed(mRS);
     }
 
     public class ArgumentsUintFloat {
@@ -78,14 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("0x%x", args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNan.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNan.rs
similarity index 91%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNan.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNan.rs
index 0e9ab96..cc2e3a9 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNan.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNan.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testNanUintFloat(uint inV) {
     return nan(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNanRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNanRelaxed.rs
index 1760b34..a428cde 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNanRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestNan.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAcos.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAcos.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAcos.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAcos.java
index 68ef91f..63307d9 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAcos.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAcos.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestNativeAcos extends RSBaseCompute {
+public class TestNativeAcos extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestNativeAcos script;
-    private ScriptC_GeneratedTestNativeAcosRelaxed scriptRelaxed;
+    private ScriptC_TestNativeAcos script;
+    private ScriptC_TestNativeAcosRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestNativeAcos(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestNativeAcosRelaxed(mRS);
+        script = new ScriptC_TestNativeAcos(mRS);
+        scriptRelaxed = new ScriptC_TestNativeAcosRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j], 0.0005)) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j], 0.0005)) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAcos.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAcos.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAcos.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAcos.rs
index 2419c0e..3d0d277 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAcos.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAcos.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testNativeAcosFloatFloat(float inV) {
     return native_acos(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAcosRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAcosRelaxed.rs
index 1760b34..26c0058 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAcosRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestNativeAcos.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAcosh.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAcosh.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAcosh.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAcosh.java
index d39f4bc..ed3ab41 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAcosh.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAcosh.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestNativeAcosh extends RSBaseCompute {
+public class TestNativeAcosh extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestNativeAcosh script;
-    private ScriptC_GeneratedTestNativeAcoshRelaxed scriptRelaxed;
+    private ScriptC_TestNativeAcosh script;
+    private ScriptC_TestNativeAcoshRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestNativeAcosh(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestNativeAcoshRelaxed(mRS);
+        script = new ScriptC_TestNativeAcosh(mRS);
+        scriptRelaxed = new ScriptC_TestNativeAcoshRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j], 0.0005)) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j], 0.0005)) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAcosh.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAcosh.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAcosh.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAcosh.rs
index 9e48292..d6f4022 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAcosh.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAcosh.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testNativeAcoshFloatFloat(float inV) {
     return native_acosh(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAcoshRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAcoshRelaxed.rs
index 1760b34..d077f0d 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAcoshRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestNativeAcosh.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAcospi.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAcospi.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAcospi.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAcospi.java
index c08a500..c2fb6a5 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAcospi.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAcospi.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestNativeAcospi extends RSBaseCompute {
+public class TestNativeAcospi extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestNativeAcospi script;
-    private ScriptC_GeneratedTestNativeAcospiRelaxed scriptRelaxed;
+    private ScriptC_TestNativeAcospi script;
+    private ScriptC_TestNativeAcospiRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestNativeAcospi(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestNativeAcospiRelaxed(mRS);
+        script = new ScriptC_TestNativeAcospi(mRS);
+        scriptRelaxed = new ScriptC_TestNativeAcospiRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j], 0.0005)) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j], 0.0005)) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAcospi.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAcospi.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAcospi.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAcospi.rs
index d9d4ae5..2feadae 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAcospi.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAcospi.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testNativeAcospiFloatFloat(float inV) {
     return native_acospi(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAcospiRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAcospiRelaxed.rs
index 1760b34..9a73980 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAcospiRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestNativeAcospi.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAsin.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAsin.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAsin.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAsin.java
index 87d980a..f86f1d0 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAsin.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAsin.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestNativeAsin extends RSBaseCompute {
+public class TestNativeAsin extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestNativeAsin script;
-    private ScriptC_GeneratedTestNativeAsinRelaxed scriptRelaxed;
+    private ScriptC_TestNativeAsin script;
+    private ScriptC_TestNativeAsinRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestNativeAsin(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestNativeAsinRelaxed(mRS);
+        script = new ScriptC_TestNativeAsin(mRS);
+        scriptRelaxed = new ScriptC_TestNativeAsinRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j], 0.0005)) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j], 0.0005)) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAsin.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAsin.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAsin.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAsin.rs
index 28b8173..9d0811b 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAsin.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAsin.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testNativeAsinFloatFloat(float inV) {
     return native_asin(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAsinRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAsinRelaxed.rs
index 1760b34..d695124 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAsinRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestNativeAsin.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAsinh.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAsinh.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAsinh.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAsinh.java
index b60600b..8b642a2 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAsinh.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAsinh.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestNativeAsinh extends RSBaseCompute {
+public class TestNativeAsinh extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestNativeAsinh script;
-    private ScriptC_GeneratedTestNativeAsinhRelaxed scriptRelaxed;
+    private ScriptC_TestNativeAsinh script;
+    private ScriptC_TestNativeAsinhRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestNativeAsinh(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestNativeAsinhRelaxed(mRS);
+        script = new ScriptC_TestNativeAsinh(mRS);
+        scriptRelaxed = new ScriptC_TestNativeAsinhRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j], 0.0005)) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j], 0.0005)) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAsinh.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAsinh.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAsinh.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAsinh.rs
index 8e9ac3c..21627f6 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAsinh.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAsinh.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testNativeAsinhFloatFloat(float inV) {
     return native_asinh(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAsinhRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAsinhRelaxed.rs
index 1760b34..0d4b6c9 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAsinhRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestNativeAsinh.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAsinpi.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAsinpi.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAsinpi.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAsinpi.java
index 1e2d2ac..0aaf7f2 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAsinpi.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAsinpi.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestNativeAsinpi extends RSBaseCompute {
+public class TestNativeAsinpi extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestNativeAsinpi script;
-    private ScriptC_GeneratedTestNativeAsinpiRelaxed scriptRelaxed;
+    private ScriptC_TestNativeAsinpi script;
+    private ScriptC_TestNativeAsinpiRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestNativeAsinpi(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestNativeAsinpiRelaxed(mRS);
+        script = new ScriptC_TestNativeAsinpi(mRS);
+        scriptRelaxed = new ScriptC_TestNativeAsinpiRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j], 0.0005)) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j], 0.0005)) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAsinpi.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAsinpi.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAsinpi.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAsinpi.rs
index f08c041..d924ca7 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAsinpi.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAsinpi.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testNativeAsinpiFloatFloat(float inV) {
     return native_asinpi(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAsinpiRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAsinpiRelaxed.rs
index 1760b34..35beace 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAsinpiRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestNativeAsinpi.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAtan.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtan.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAtan.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtan.java
index 827c84b..8271bdb 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAtan.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtan.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestNativeAtan extends RSBaseCompute {
+public class TestNativeAtan extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestNativeAtan script;
-    private ScriptC_GeneratedTestNativeAtanRelaxed scriptRelaxed;
+    private ScriptC_TestNativeAtan script;
+    private ScriptC_TestNativeAtanRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestNativeAtan(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestNativeAtanRelaxed(mRS);
+        script = new ScriptC_TestNativeAtan(mRS);
+        scriptRelaxed = new ScriptC_TestNativeAtanRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j], 0.0005)) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j], 0.0005)) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAtan.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtan.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAtan.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtan.rs
index f15e5fd..de9f739 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAtan.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtan.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testNativeAtanFloatFloat(float inV) {
     return native_atan(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAtan2.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtan2.java
similarity index 83%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAtan2.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtan2.java
index ebcfc9a..ac7a974 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAtan2.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtan2.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestNativeAtan2 extends RSBaseCompute {
+public class TestNativeAtan2 extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestNativeAtan2 script;
-    private ScriptC_GeneratedTestNativeAtan2Relaxed scriptRelaxed;
+    private ScriptC_TestNativeAtan2 script;
+    private ScriptC_TestNativeAtan2Relaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestNativeAtan2(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestNativeAtan2Relaxed(mRS);
+        script = new ScriptC_TestNativeAtan2(mRS);
+        scriptRelaxed = new ScriptC_TestNativeAtan2Relaxed(mRS);
     }
 
     public class ArgumentsFloatFloatFloat {
@@ -85,19 +85,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inNumerator: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inNumerator, Float.floatToRawIntBits(args.inNumerator), args.inNumerator));
+                    appendVariableToMessage(message, args.inNumerator);
                     message.append("\n");
                     message.append("Input inDenominator: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inDenominator, Float.floatToRawIntBits(args.inDenominator), args.inDenominator));
+                    appendVariableToMessage(message, args.inDenominator);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j], 0.0005)) {
                         message.append(" FAIL");
                     }
@@ -154,19 +151,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inNumerator: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inNumerator, Float.floatToRawIntBits(args.inNumerator), args.inNumerator));
+                    appendVariableToMessage(message, args.inNumerator);
                     message.append("\n");
                     message.append("Input inDenominator: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inDenominator, Float.floatToRawIntBits(args.inDenominator), args.inDenominator));
+                    appendVariableToMessage(message, args.inDenominator);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j], 0.0005)) {
                         message.append(" FAIL");
                     }
@@ -223,19 +217,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inNumerator: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inNumerator, Float.floatToRawIntBits(args.inNumerator), args.inNumerator));
+                    appendVariableToMessage(message, args.inNumerator);
                     message.append("\n");
                     message.append("Input inDenominator: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inDenominator, Float.floatToRawIntBits(args.inDenominator), args.inDenominator));
+                    appendVariableToMessage(message, args.inDenominator);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
                         message.append(" FAIL");
                     }
@@ -292,19 +283,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inNumerator: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inNumerator, Float.floatToRawIntBits(args.inNumerator), args.inNumerator));
+                    appendVariableToMessage(message, args.inNumerator);
                     message.append("\n");
                     message.append("Input inDenominator: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inDenominator, Float.floatToRawIntBits(args.inDenominator), args.inDenominator));
+                    appendVariableToMessage(message, args.inDenominator);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAtan2.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtan2.rs
similarity index 95%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAtan2.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtan2.rs
index 0443b0f..66ee75e 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAtan2.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtan2.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 rs_allocation gAllocInDenominator;
 
 float __attribute__((kernel)) testNativeAtan2FloatFloatFloat(float inNumerator, unsigned int x) {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtan2Relaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtan2Relaxed.rs
index 1760b34..ac6659f 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtan2Relaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestNativeAtan2.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAtan2pi.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtan2pi.java
similarity index 83%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAtan2pi.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtan2pi.java
index 03a7e87..4c812ce 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAtan2pi.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtan2pi.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestNativeAtan2pi extends RSBaseCompute {
+public class TestNativeAtan2pi extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestNativeAtan2pi script;
-    private ScriptC_GeneratedTestNativeAtan2piRelaxed scriptRelaxed;
+    private ScriptC_TestNativeAtan2pi script;
+    private ScriptC_TestNativeAtan2piRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestNativeAtan2pi(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestNativeAtan2piRelaxed(mRS);
+        script = new ScriptC_TestNativeAtan2pi(mRS);
+        scriptRelaxed = new ScriptC_TestNativeAtan2piRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloatFloat {
@@ -85,19 +85,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inNumerator: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inNumerator, Float.floatToRawIntBits(args.inNumerator), args.inNumerator));
+                    appendVariableToMessage(message, args.inNumerator);
                     message.append("\n");
                     message.append("Input inDenominator: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inDenominator, Float.floatToRawIntBits(args.inDenominator), args.inDenominator));
+                    appendVariableToMessage(message, args.inDenominator);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j], 0.0005)) {
                         message.append(" FAIL");
                     }
@@ -154,19 +151,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inNumerator: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inNumerator, Float.floatToRawIntBits(args.inNumerator), args.inNumerator));
+                    appendVariableToMessage(message, args.inNumerator);
                     message.append("\n");
                     message.append("Input inDenominator: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inDenominator, Float.floatToRawIntBits(args.inDenominator), args.inDenominator));
+                    appendVariableToMessage(message, args.inDenominator);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j], 0.0005)) {
                         message.append(" FAIL");
                     }
@@ -223,19 +217,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inNumerator: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inNumerator, Float.floatToRawIntBits(args.inNumerator), args.inNumerator));
+                    appendVariableToMessage(message, args.inNumerator);
                     message.append("\n");
                     message.append("Input inDenominator: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inDenominator, Float.floatToRawIntBits(args.inDenominator), args.inDenominator));
+                    appendVariableToMessage(message, args.inDenominator);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
                         message.append(" FAIL");
                     }
@@ -292,19 +283,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inNumerator: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inNumerator, Float.floatToRawIntBits(args.inNumerator), args.inNumerator));
+                    appendVariableToMessage(message, args.inNumerator);
                     message.append("\n");
                     message.append("Input inDenominator: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inDenominator, Float.floatToRawIntBits(args.inDenominator), args.inDenominator));
+                    appendVariableToMessage(message, args.inDenominator);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAtan2pi.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtan2pi.rs
similarity index 95%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAtan2pi.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtan2pi.rs
index 7637041..5804dd5 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAtan2pi.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtan2pi.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 rs_allocation gAllocInDenominator;
 
 float __attribute__((kernel)) testNativeAtan2piFloatFloatFloat(float inNumerator, unsigned int x) {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeTanpiRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtan2piRelaxed.rs
similarity index 85%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeTanpiRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtan2piRelaxed.rs
index 095f4b5..48c1ea0 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeTanpiRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtan2piRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNativeTanpi.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestNativeAtan2pi.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtanRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtanRelaxed.rs
index 1760b34..21be808 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtanRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestNativeAtan.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAtanh.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtanh.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAtanh.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtanh.java
index db2f189..11b8952 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAtanh.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtanh.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestNativeAtanh extends RSBaseCompute {
+public class TestNativeAtanh extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestNativeAtanh script;
-    private ScriptC_GeneratedTestNativeAtanhRelaxed scriptRelaxed;
+    private ScriptC_TestNativeAtanh script;
+    private ScriptC_TestNativeAtanhRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestNativeAtanh(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestNativeAtanhRelaxed(mRS);
+        script = new ScriptC_TestNativeAtanh(mRS);
+        scriptRelaxed = new ScriptC_TestNativeAtanhRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j], 0.0005)) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j], 0.0005)) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAtanh.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtanh.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAtanh.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtanh.rs
index 7c20382..394e6d3 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAtanh.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtanh.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testNativeAtanhFloatFloat(float inV) {
     return native_atanh(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtanhRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtanhRelaxed.rs
index 1760b34..d12d443 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtanhRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestNativeAtanh.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAtanpi.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtanpi.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAtanpi.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtanpi.java
index 35be2e7..9e822d2 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAtanpi.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtanpi.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestNativeAtanpi extends RSBaseCompute {
+public class TestNativeAtanpi extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestNativeAtanpi script;
-    private ScriptC_GeneratedTestNativeAtanpiRelaxed scriptRelaxed;
+    private ScriptC_TestNativeAtanpi script;
+    private ScriptC_TestNativeAtanpiRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestNativeAtanpi(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestNativeAtanpiRelaxed(mRS);
+        script = new ScriptC_TestNativeAtanpi(mRS);
+        scriptRelaxed = new ScriptC_TestNativeAtanpiRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j], 0.0005)) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j], 0.0005)) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAtanpi.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtanpi.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAtanpi.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtanpi.rs
index 19d5262..89d306c 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeAtanpi.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtanpi.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testNativeAtanpiFloatFloat(float inV) {
     return native_atanpi(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtanpiRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtanpiRelaxed.rs
index 1760b34..75c9ed8 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtanpiRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestNativeAtanpi.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeCbrt.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeCbrt.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeCbrt.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeCbrt.java
index 0a2b1fb..05eb399 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeCbrt.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeCbrt.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestNativeCbrt extends RSBaseCompute {
+public class TestNativeCbrt extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestNativeCbrt script;
-    private ScriptC_GeneratedTestNativeCbrtRelaxed scriptRelaxed;
+    private ScriptC_TestNativeCbrt script;
+    private ScriptC_TestNativeCbrtRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestNativeCbrt(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestNativeCbrtRelaxed(mRS);
+        script = new ScriptC_TestNativeCbrt(mRS);
+        scriptRelaxed = new ScriptC_TestNativeCbrtRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeCbrt.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeCbrt.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeCbrt.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeCbrt.rs
index 9b8e4e9..f2e44fa 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeCbrt.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeCbrt.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testNativeCbrtFloatFloat(float inV) {
     return native_cbrt(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeCbrtRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeCbrtRelaxed.rs
index 1760b34..bfc649d 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeCbrtRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestNativeCbrt.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeCos.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeCos.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeCos.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeCos.java
index 70c734e..6b9b803 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeCos.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeCos.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestNativeCos extends RSBaseCompute {
+public class TestNativeCos extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestNativeCos script;
-    private ScriptC_GeneratedTestNativeCosRelaxed scriptRelaxed;
+    private ScriptC_TestNativeCos script;
+    private ScriptC_TestNativeCosRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestNativeCos(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestNativeCosRelaxed(mRS);
+        script = new ScriptC_TestNativeCos(mRS);
+        scriptRelaxed = new ScriptC_TestNativeCosRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeCos.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeCos.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeCos.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeCos.rs
index d608991..6717d50 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeCos.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeCos.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testNativeCosFloatFloat(float inV) {
     return native_cos(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeCosRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeCosRelaxed.rs
index 1760b34..2c38290 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeCosRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestNativeCos.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeCosh.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeCosh.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeCosh.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeCosh.java
index 1ca49c5..ba20feb 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeCosh.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeCosh.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestNativeCosh extends RSBaseCompute {
+public class TestNativeCosh extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestNativeCosh script;
-    private ScriptC_GeneratedTestNativeCoshRelaxed scriptRelaxed;
+    private ScriptC_TestNativeCosh script;
+    private ScriptC_TestNativeCoshRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestNativeCosh(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestNativeCoshRelaxed(mRS);
+        script = new ScriptC_TestNativeCosh(mRS);
+        scriptRelaxed = new ScriptC_TestNativeCoshRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeCosh.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeCosh.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeCosh.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeCosh.rs
index 665e915..1a0eb5a 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeCosh.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeCosh.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testNativeCoshFloatFloat(float inV) {
     return native_cosh(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeCoshRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeCoshRelaxed.rs
index 1760b34..278dbe4 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeCoshRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestNativeCosh.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeCospi.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeCospi.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeCospi.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeCospi.java
index 72a5c5d..0176177 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeCospi.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeCospi.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestNativeCospi extends RSBaseCompute {
+public class TestNativeCospi extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestNativeCospi script;
-    private ScriptC_GeneratedTestNativeCospiRelaxed scriptRelaxed;
+    private ScriptC_TestNativeCospi script;
+    private ScriptC_TestNativeCospiRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestNativeCospi(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestNativeCospiRelaxed(mRS);
+        script = new ScriptC_TestNativeCospi(mRS);
+        scriptRelaxed = new ScriptC_TestNativeCospiRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeCospi.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeCospi.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeCospi.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeCospi.rs
index dab1603..d7aedb5 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeCospi.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeCospi.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testNativeCospiFloatFloat(float inV) {
     return native_cospi(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeCospiRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeCospiRelaxed.rs
index 1760b34..8b57ea0 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeCospiRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestNativeCospi.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeDistance.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeDistance.java
similarity index 84%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeDistance.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeDistance.java
index 17ebe90..46838d8 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeDistance.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeDistance.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestNativeDistance extends RSBaseCompute {
+public class TestNativeDistance extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestNativeDistance script;
-    private ScriptC_GeneratedTestNativeDistanceRelaxed scriptRelaxed;
+    private ScriptC_TestNativeDistance script;
+    private ScriptC_TestNativeDistanceRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestNativeDistance(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestNativeDistanceRelaxed(mRS);
+        script = new ScriptC_TestNativeDistance(mRS);
+        scriptRelaxed = new ScriptC_TestNativeDistanceRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloatFloat {
@@ -85,19 +85,16 @@
             if (!valid) {
                 StringBuilder message = new StringBuilder();
                 message.append("Input inLeftVector: ");
-                message.append(String.format("%14.8g {%8x} %15a",
-                        arrayInLeftVector[i], Float.floatToRawIntBits(arrayInLeftVector[i]), arrayInLeftVector[i]));
+                appendVariableToMessage(message, arrayInLeftVector[i]);
                 message.append("\n");
                 message.append("Input inRightVector: ");
-                message.append(String.format("%14.8g {%8x} %15a",
-                        arrayInRightVector[i], Float.floatToRawIntBits(arrayInRightVector[i]), arrayInRightVector[i]));
+                appendVariableToMessage(message, arrayInRightVector[i]);
                 message.append("\n");
                 message.append("Expected output out: ");
-                message.append(args.out.toString());
+                appendVariableToMessage(message, args.out);
                 message.append("\n");
                 message.append("Actual   output out: ");
-                message.append(String.format("%14.8g {%8x} %15a",
-                        arrayOut[i], Float.floatToRawIntBits(arrayOut[i]), arrayOut[i]));
+                appendVariableToMessage(message, arrayOut[i]);
                 if (!args.out.couldBe(arrayOut[i])) {
                     message.append(" FAIL");
                 }
@@ -166,22 +163,19 @@
                 StringBuilder message = new StringBuilder();
                 for (int j = 0; j < 2 ; j++) {
                     message.append("Input inLeftVector: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayInLeftVector[i * 2 + j], Float.floatToRawIntBits(arrayInLeftVector[i * 2 + j]), arrayInLeftVector[i * 2 + j]));
+                    appendVariableToMessage(message, arrayInLeftVector[i * 2 + j]);
                     message.append("\n");
                 }
                 for (int j = 0; j < 2 ; j++) {
                     message.append("Input inRightVector: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayInRightVector[i * 2 + j], Float.floatToRawIntBits(arrayInRightVector[i * 2 + j]), arrayInRightVector[i * 2 + j]));
+                    appendVariableToMessage(message, arrayInRightVector[i * 2 + j]);
                     message.append("\n");
                 }
                 message.append("Expected output out: ");
-                message.append(args.out.toString());
+                appendVariableToMessage(message, args.out);
                 message.append("\n");
                 message.append("Actual   output out: ");
-                message.append(String.format("%14.8g {%8x} %15a",
-                        arrayOut[i], Float.floatToRawIntBits(arrayOut[i]), arrayOut[i]));
+                appendVariableToMessage(message, arrayOut[i]);
                 if (!args.out.couldBe(arrayOut[i])) {
                     message.append(" FAIL");
                 }
@@ -244,22 +238,19 @@
                 StringBuilder message = new StringBuilder();
                 for (int j = 0; j < 3 ; j++) {
                     message.append("Input inLeftVector: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayInLeftVector[i * 4 + j], Float.floatToRawIntBits(arrayInLeftVector[i * 4 + j]), arrayInLeftVector[i * 4 + j]));
+                    appendVariableToMessage(message, arrayInLeftVector[i * 4 + j]);
                     message.append("\n");
                 }
                 for (int j = 0; j < 3 ; j++) {
                     message.append("Input inRightVector: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayInRightVector[i * 4 + j], Float.floatToRawIntBits(arrayInRightVector[i * 4 + j]), arrayInRightVector[i * 4 + j]));
+                    appendVariableToMessage(message, arrayInRightVector[i * 4 + j]);
                     message.append("\n");
                 }
                 message.append("Expected output out: ");
-                message.append(args.out.toString());
+                appendVariableToMessage(message, args.out);
                 message.append("\n");
                 message.append("Actual   output out: ");
-                message.append(String.format("%14.8g {%8x} %15a",
-                        arrayOut[i], Float.floatToRawIntBits(arrayOut[i]), arrayOut[i]));
+                appendVariableToMessage(message, arrayOut[i]);
                 if (!args.out.couldBe(arrayOut[i])) {
                     message.append(" FAIL");
                 }
@@ -322,22 +313,19 @@
                 StringBuilder message = new StringBuilder();
                 for (int j = 0; j < 4 ; j++) {
                     message.append("Input inLeftVector: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayInLeftVector[i * 4 + j], Float.floatToRawIntBits(arrayInLeftVector[i * 4 + j]), arrayInLeftVector[i * 4 + j]));
+                    appendVariableToMessage(message, arrayInLeftVector[i * 4 + j]);
                     message.append("\n");
                 }
                 for (int j = 0; j < 4 ; j++) {
                     message.append("Input inRightVector: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayInRightVector[i * 4 + j], Float.floatToRawIntBits(arrayInRightVector[i * 4 + j]), arrayInRightVector[i * 4 + j]));
+                    appendVariableToMessage(message, arrayInRightVector[i * 4 + j]);
                     message.append("\n");
                 }
                 message.append("Expected output out: ");
-                message.append(args.out.toString());
+                appendVariableToMessage(message, args.out);
                 message.append("\n");
                 message.append("Actual   output out: ");
-                message.append(String.format("%14.8g {%8x} %15a",
-                        arrayOut[i], Float.floatToRawIntBits(arrayOut[i]), arrayOut[i]));
+                appendVariableToMessage(message, arrayOut[i]);
                 if (!args.out.couldBe(arrayOut[i])) {
                     message.append(" FAIL");
                 }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeDistance.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeDistance.rs
similarity index 95%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeDistance.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeDistance.rs
index 872db3e..3f9c64e 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeDistance.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeDistance.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 rs_allocation gAllocInRightVector;
 
 float __attribute__((kernel)) testNativeDistanceFloatFloatFloat(float inLeftVector, unsigned int x) {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeTanpiRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeDistanceRelaxed.rs
similarity index 85%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeTanpiRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeDistanceRelaxed.rs
index 095f4b5..b35e456 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeTanpiRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeDistanceRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNativeTanpi.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestNativeDistance.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeDivide.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeDivide.java
similarity index 83%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeDivide.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeDivide.java
index f8ae8e5..b7a630b2 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeDivide.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeDivide.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestNativeDivide extends RSBaseCompute {
+public class TestNativeDivide extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestNativeDivide script;
-    private ScriptC_GeneratedTestNativeDivideRelaxed scriptRelaxed;
+    private ScriptC_TestNativeDivide script;
+    private ScriptC_TestNativeDivideRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestNativeDivide(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestNativeDivideRelaxed(mRS);
+        script = new ScriptC_TestNativeDivide(mRS);
+        scriptRelaxed = new ScriptC_TestNativeDivideRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloatFloat {
@@ -85,19 +85,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inLeftVector: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inLeftVector, Float.floatToRawIntBits(args.inLeftVector), args.inLeftVector));
+                    appendVariableToMessage(message, args.inLeftVector);
                     message.append("\n");
                     message.append("Input inRightVector: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inRightVector, Float.floatToRawIntBits(args.inRightVector), args.inRightVector));
+                    appendVariableToMessage(message, args.inRightVector);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -154,19 +151,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inLeftVector: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inLeftVector, Float.floatToRawIntBits(args.inLeftVector), args.inLeftVector));
+                    appendVariableToMessage(message, args.inLeftVector);
                     message.append("\n");
                     message.append("Input inRightVector: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inRightVector, Float.floatToRawIntBits(args.inRightVector), args.inRightVector));
+                    appendVariableToMessage(message, args.inRightVector);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -223,19 +217,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inLeftVector: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inLeftVector, Float.floatToRawIntBits(args.inLeftVector), args.inLeftVector));
+                    appendVariableToMessage(message, args.inLeftVector);
                     message.append("\n");
                     message.append("Input inRightVector: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inRightVector, Float.floatToRawIntBits(args.inRightVector), args.inRightVector));
+                    appendVariableToMessage(message, args.inRightVector);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -292,19 +283,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inLeftVector: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inLeftVector, Float.floatToRawIntBits(args.inLeftVector), args.inLeftVector));
+                    appendVariableToMessage(message, args.inLeftVector);
                     message.append("\n");
                     message.append("Input inRightVector: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inRightVector, Float.floatToRawIntBits(args.inRightVector), args.inRightVector));
+                    appendVariableToMessage(message, args.inRightVector);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeDivide.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeDivide.rs
similarity index 95%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeDivide.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeDivide.rs
index db501c5..6a4a6a4 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeDivide.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeDivide.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 rs_allocation gAllocInRightVector;
 
 float __attribute__((kernel)) testNativeDivideFloatFloatFloat(float inLeftVector, unsigned int x) {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeDivideRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeDivideRelaxed.rs
index 1760b34..b0a48f5 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeDivideRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestNativeDivide.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeExp.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeExp.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeExp.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeExp.java
index 229c8b0..156b154 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeExp.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeExp.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestNativeExp extends RSBaseCompute {
+public class TestNativeExp extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestNativeExp script;
-    private ScriptC_GeneratedTestNativeExpRelaxed scriptRelaxed;
+    private ScriptC_TestNativeExp script;
+    private ScriptC_TestNativeExpRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestNativeExp(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestNativeExpRelaxed(mRS);
+        script = new ScriptC_TestNativeExp(mRS);
+        scriptRelaxed = new ScriptC_TestNativeExpRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeExp.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeExp.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeExp.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeExp.rs
index 6143d9f..92e31dc 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeExp.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeExp.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testNativeExpFloatFloat(float inV) {
     return native_exp(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeExp10.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeExp10.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeExp10.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeExp10.java
index d172b5d..df4dd51 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeExp10.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeExp10.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestNativeExp10 extends RSBaseCompute {
+public class TestNativeExp10 extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestNativeExp10 script;
-    private ScriptC_GeneratedTestNativeExp10Relaxed scriptRelaxed;
+    private ScriptC_TestNativeExp10 script;
+    private ScriptC_TestNativeExp10Relaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestNativeExp10(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestNativeExp10Relaxed(mRS);
+        script = new ScriptC_TestNativeExp10(mRS);
+        scriptRelaxed = new ScriptC_TestNativeExp10Relaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeExp10.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeExp10.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeExp10.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeExp10.rs
index 1d03607..475d70c 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeExp10.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeExp10.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testNativeExp10FloatFloat(float inV) {
     return native_exp10(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeExp10Relaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeExp10Relaxed.rs
index 1760b34..ff433f9 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeExp10Relaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestNativeExp10.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeExp2.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeExp2.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeExp2.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeExp2.java
index 50b995d..81961c2 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeExp2.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeExp2.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestNativeExp2 extends RSBaseCompute {
+public class TestNativeExp2 extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestNativeExp2 script;
-    private ScriptC_GeneratedTestNativeExp2Relaxed scriptRelaxed;
+    private ScriptC_TestNativeExp2 script;
+    private ScriptC_TestNativeExp2Relaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestNativeExp2(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestNativeExp2Relaxed(mRS);
+        script = new ScriptC_TestNativeExp2(mRS);
+        scriptRelaxed = new ScriptC_TestNativeExp2Relaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeExp2.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeExp2.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeExp2.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeExp2.rs
index 1112900..21b8a54 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeExp2.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeExp2.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testNativeExp2FloatFloat(float inV) {
     return native_exp2(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeExp2Relaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeExp2Relaxed.rs
index 1760b34..ef9f713 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeExp2Relaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestNativeExp2.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeExpRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeExpRelaxed.rs
index 1760b34..f947bc4 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeExpRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestNativeExp.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeExpm1.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeExpm1.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeExpm1.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeExpm1.java
index c183fe6..84a06fc 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeExpm1.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeExpm1.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestNativeExpm1 extends RSBaseCompute {
+public class TestNativeExpm1 extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestNativeExpm1 script;
-    private ScriptC_GeneratedTestNativeExpm1Relaxed scriptRelaxed;
+    private ScriptC_TestNativeExpm1 script;
+    private ScriptC_TestNativeExpm1Relaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestNativeExpm1(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestNativeExpm1Relaxed(mRS);
+        script = new ScriptC_TestNativeExpm1(mRS);
+        scriptRelaxed = new ScriptC_TestNativeExpm1Relaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeExpm1.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeExpm1.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeExpm1.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeExpm1.rs
index aca1745..848bac6 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeExpm1.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeExpm1.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testNativeExpm1FloatFloat(float inV) {
     return native_expm1(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeExpm1Relaxed.rs
similarity index 86%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeExpm1Relaxed.rs
index 1760b34..8af4aaf 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeExpm1Relaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestNativeExpm1.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeHypot.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeHypot.java
similarity index 84%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeHypot.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeHypot.java
index fcb86f3..b875539 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeHypot.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeHypot.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestNativeHypot extends RSBaseCompute {
+public class TestNativeHypot extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestNativeHypot script;
-    private ScriptC_GeneratedTestNativeHypotRelaxed scriptRelaxed;
+    private ScriptC_TestNativeHypot script;
+    private ScriptC_TestNativeHypotRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestNativeHypot(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestNativeHypotRelaxed(mRS);
+        script = new ScriptC_TestNativeHypot(mRS);
+        scriptRelaxed = new ScriptC_TestNativeHypotRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloatFloat {
@@ -85,19 +85,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inA, Float.floatToRawIntBits(args.inA), args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inB, Float.floatToRawIntBits(args.inB), args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -154,19 +151,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inA, Float.floatToRawIntBits(args.inA), args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inB, Float.floatToRawIntBits(args.inB), args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -223,19 +217,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inA, Float.floatToRawIntBits(args.inA), args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inB, Float.floatToRawIntBits(args.inB), args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -292,19 +283,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inA: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inA, Float.floatToRawIntBits(args.inA), args.inA));
+                    appendVariableToMessage(message, args.inA);
                     message.append("\n");
                     message.append("Input inB: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inB, Float.floatToRawIntBits(args.inB), args.inB));
+                    appendVariableToMessage(message, args.inB);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeHypot.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeHypot.rs
similarity index 94%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeHypot.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeHypot.rs
index 70fb23d..5e68656 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeHypot.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeHypot.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 rs_allocation gAllocInB;
 
 float __attribute__((kernel)) testNativeHypotFloatFloatFloat(float inA, unsigned int x) {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeHypotRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeHypotRelaxed.rs
index 1760b34..999a5b2 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeHypotRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestNativeHypot.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeLength.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLength.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeLength.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLength.java
index 77faec5..4a8b86a 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeLength.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLength.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestNativeLength extends RSBaseCompute {
+public class TestNativeLength extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestNativeLength script;
-    private ScriptC_GeneratedTestNativeLengthRelaxed scriptRelaxed;
+    private ScriptC_TestNativeLength script;
+    private ScriptC_TestNativeLengthRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestNativeLength(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestNativeLengthRelaxed(mRS);
+        script = new ScriptC_TestNativeLength(mRS);
+        scriptRelaxed = new ScriptC_TestNativeLengthRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
             if (!valid) {
                 StringBuilder message = new StringBuilder();
                 message.append("Input inV: ");
-                message.append(String.format("%14.8g {%8x} %15a",
-                        arrayInV[i], Float.floatToRawIntBits(arrayInV[i]), arrayInV[i]));
+                appendVariableToMessage(message, arrayInV[i]);
                 message.append("\n");
                 message.append("Expected output out: ");
-                message.append(args.out.toString());
+                appendVariableToMessage(message, args.out);
                 message.append("\n");
                 message.append("Actual   output out: ");
-                message.append(String.format("%14.8g {%8x} %15a",
-                        arrayOut[i], Float.floatToRawIntBits(arrayOut[i]), arrayOut[i]));
+                appendVariableToMessage(message, arrayOut[i]);
                 if (!args.out.couldBe(arrayOut[i])) {
                     message.append(" FAIL");
                 }
@@ -145,16 +143,14 @@
                 StringBuilder message = new StringBuilder();
                 for (int j = 0; j < 2 ; j++) {
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayInV[i * 2 + j], Float.floatToRawIntBits(arrayInV[i * 2 + j]), arrayInV[i * 2 + j]));
+                    appendVariableToMessage(message, arrayInV[i * 2 + j]);
                     message.append("\n");
                 }
                 message.append("Expected output out: ");
-                message.append(args.out.toString());
+                appendVariableToMessage(message, args.out);
                 message.append("\n");
                 message.append("Actual   output out: ");
-                message.append(String.format("%14.8g {%8x} %15a",
-                        arrayOut[i], Float.floatToRawIntBits(arrayOut[i]), arrayOut[i]));
+                appendVariableToMessage(message, arrayOut[i]);
                 if (!args.out.couldBe(arrayOut[i])) {
                     message.append(" FAIL");
                 }
@@ -208,16 +204,14 @@
                 StringBuilder message = new StringBuilder();
                 for (int j = 0; j < 3 ; j++) {
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayInV[i * 4 + j], Float.floatToRawIntBits(arrayInV[i * 4 + j]), arrayInV[i * 4 + j]));
+                    appendVariableToMessage(message, arrayInV[i * 4 + j]);
                     message.append("\n");
                 }
                 message.append("Expected output out: ");
-                message.append(args.out.toString());
+                appendVariableToMessage(message, args.out);
                 message.append("\n");
                 message.append("Actual   output out: ");
-                message.append(String.format("%14.8g {%8x} %15a",
-                        arrayOut[i], Float.floatToRawIntBits(arrayOut[i]), arrayOut[i]));
+                appendVariableToMessage(message, arrayOut[i]);
                 if (!args.out.couldBe(arrayOut[i])) {
                     message.append(" FAIL");
                 }
@@ -271,16 +265,14 @@
                 StringBuilder message = new StringBuilder();
                 for (int j = 0; j < 4 ; j++) {
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayInV[i * 4 + j], Float.floatToRawIntBits(arrayInV[i * 4 + j]), arrayInV[i * 4 + j]));
+                    appendVariableToMessage(message, arrayInV[i * 4 + j]);
                     message.append("\n");
                 }
                 message.append("Expected output out: ");
-                message.append(args.out.toString());
+                appendVariableToMessage(message, args.out);
                 message.append("\n");
                 message.append("Actual   output out: ");
-                message.append(String.format("%14.8g {%8x} %15a",
-                        arrayOut[i], Float.floatToRawIntBits(arrayOut[i]), arrayOut[i]));
+                appendVariableToMessage(message, arrayOut[i]);
                 if (!args.out.couldBe(arrayOut[i])) {
                     message.append(" FAIL");
                 }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeLength.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLength.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeLength.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLength.rs
index ae30d2d..9245390 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeLength.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLength.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testNativeLengthFloatFloat(float inV) {
     return native_length(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLengthRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLengthRelaxed.rs
index 1760b34..c7f8655 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLengthRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestNativeLength.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeLog.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLog.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeLog.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLog.java
index 323d174..1f61402 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeLog.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLog.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestNativeLog extends RSBaseCompute {
+public class TestNativeLog extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestNativeLog script;
-    private ScriptC_GeneratedTestNativeLogRelaxed scriptRelaxed;
+    private ScriptC_TestNativeLog script;
+    private ScriptC_TestNativeLogRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestNativeLog(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestNativeLogRelaxed(mRS);
+        script = new ScriptC_TestNativeLog(mRS);
+        scriptRelaxed = new ScriptC_TestNativeLogRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeLog.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLog.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeLog.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLog.rs
index 05a4688..bcf9a5f 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeLog.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLog.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testNativeLogFloatFloat(float inV) {
     return native_log(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeLog10.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLog10.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeLog10.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLog10.java
index 3220259..7cadd6b 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeLog10.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLog10.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestNativeLog10 extends RSBaseCompute {
+public class TestNativeLog10 extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestNativeLog10 script;
-    private ScriptC_GeneratedTestNativeLog10Relaxed scriptRelaxed;
+    private ScriptC_TestNativeLog10 script;
+    private ScriptC_TestNativeLog10Relaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestNativeLog10(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestNativeLog10Relaxed(mRS);
+        script = new ScriptC_TestNativeLog10(mRS);
+        scriptRelaxed = new ScriptC_TestNativeLog10Relaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeLog10.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLog10.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeLog10.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLog10.rs
index 3e86a13..e02b98a 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeLog10.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLog10.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testNativeLog10FloatFloat(float inV) {
     return native_log10(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLog10Relaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLog10Relaxed.rs
index 1760b34..341414e 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLog10Relaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestNativeLog10.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeLog1p.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLog1p.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeLog1p.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLog1p.java
index b2c2bea..2806db3 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeLog1p.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLog1p.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestNativeLog1p extends RSBaseCompute {
+public class TestNativeLog1p extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestNativeLog1p script;
-    private ScriptC_GeneratedTestNativeLog1pRelaxed scriptRelaxed;
+    private ScriptC_TestNativeLog1p script;
+    private ScriptC_TestNativeLog1pRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestNativeLog1p(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestNativeLog1pRelaxed(mRS);
+        script = new ScriptC_TestNativeLog1p(mRS);
+        scriptRelaxed = new ScriptC_TestNativeLog1pRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeLog1p.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLog1p.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeLog1p.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLog1p.rs
index 4fdcd2f..3a528db 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeLog1p.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLog1p.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testNativeLog1pFloatFloat(float inV) {
     return native_log1p(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLog1pRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLog1pRelaxed.rs
index 1760b34..ff1a719 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLog1pRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestNativeLog1p.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeLog2.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLog2.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeLog2.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLog2.java
index 2da8087..7592524 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeLog2.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLog2.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestNativeLog2 extends RSBaseCompute {
+public class TestNativeLog2 extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestNativeLog2 script;
-    private ScriptC_GeneratedTestNativeLog2Relaxed scriptRelaxed;
+    private ScriptC_TestNativeLog2 script;
+    private ScriptC_TestNativeLog2Relaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestNativeLog2(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestNativeLog2Relaxed(mRS);
+        script = new ScriptC_TestNativeLog2(mRS);
+        scriptRelaxed = new ScriptC_TestNativeLog2Relaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeLog2.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLog2.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeLog2.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLog2.rs
index 748a2a0..0410ef4 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeLog2.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLog2.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testNativeLog2FloatFloat(float inV) {
     return native_log2(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLog2Relaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLog2Relaxed.rs
index 1760b34..148796b 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLog2Relaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestNativeLog2.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLogRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLogRelaxed.rs
index 1760b34..065dece 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLogRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestNativeLog.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeNormalize.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeNormalize.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeNormalize.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeNormalize.java
index ef9ebf96..401fb73 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeNormalize.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeNormalize.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestNativeNormalize extends RSBaseCompute {
+public class TestNativeNormalize extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestNativeNormalize script;
-    private ScriptC_GeneratedTestNativeNormalizeRelaxed scriptRelaxed;
+    private ScriptC_TestNativeNormalize script;
+    private ScriptC_TestNativeNormalizeRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestNativeNormalize(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestNativeNormalizeRelaxed(mRS);
+        script = new ScriptC_TestNativeNormalize(mRS);
+        scriptRelaxed = new ScriptC_TestNativeNormalizeRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
             if (!valid) {
                 StringBuilder message = new StringBuilder();
                 message.append("Input inV: ");
-                message.append(String.format("%14.8g {%8x} %15a",
-                        arrayInV[i], Float.floatToRawIntBits(arrayInV[i]), arrayInV[i]));
+                appendVariableToMessage(message, arrayInV[i]);
                 message.append("\n");
                 message.append("Expected output out: ");
-                message.append(args.out.toString());
+                appendVariableToMessage(message, args.out);
                 message.append("\n");
                 message.append("Actual   output out: ");
-                message.append(String.format("%14.8g {%8x} %15a",
-                        arrayOut[i], Float.floatToRawIntBits(arrayOut[i]), arrayOut[i]));
+                appendVariableToMessage(message, arrayOut[i]);
                 if (!args.out.couldBe(arrayOut[i])) {
                     message.append(" FAIL");
                 }
@@ -148,17 +146,15 @@
                 StringBuilder message = new StringBuilder();
                 for (int j = 0; j < 2 ; j++) {
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayInV[i * 2 + j], Float.floatToRawIntBits(arrayInV[i * 2 + j]), arrayInV[i * 2 + j]));
+                    appendVariableToMessage(message, arrayInV[i * 2 + j]);
                     message.append("\n");
                 }
                 for (int j = 0; j < 2 ; j++) {
                     message.append("Expected output out: ");
-                    message.append(args.out[j].toString());
+                    appendVariableToMessage(message, args.out[j]);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out[j].couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -216,17 +212,15 @@
                 StringBuilder message = new StringBuilder();
                 for (int j = 0; j < 3 ; j++) {
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayInV[i * 4 + j], Float.floatToRawIntBits(arrayInV[i * 4 + j]), arrayInV[i * 4 + j]));
+                    appendVariableToMessage(message, arrayInV[i * 4 + j]);
                     message.append("\n");
                 }
                 for (int j = 0; j < 3 ; j++) {
                     message.append("Expected output out: ");
-                    message.append(args.out[j].toString());
+                    appendVariableToMessage(message, args.out[j]);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out[j].couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -284,17 +278,15 @@
                 StringBuilder message = new StringBuilder();
                 for (int j = 0; j < 4 ; j++) {
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayInV[i * 4 + j], Float.floatToRawIntBits(arrayInV[i * 4 + j]), arrayInV[i * 4 + j]));
+                    appendVariableToMessage(message, arrayInV[i * 4 + j]);
                     message.append("\n");
                 }
                 for (int j = 0; j < 4 ; j++) {
                     message.append("Expected output out: ");
-                    message.append(args.out[j].toString());
+                    appendVariableToMessage(message, args.out[j]);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out[j].couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeNormalize.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeNormalize.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeNormalize.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeNormalize.rs
index 89e0b52..ba169bd 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeNormalize.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeNormalize.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testNativeNormalizeFloatFloat(float inV) {
     return native_normalize(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeTanpiRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeNormalizeRelaxed.rs
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeTanpiRelaxed.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeNormalizeRelaxed.rs
index 095f4b5..0b85dbb 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeTanpiRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeNormalizeRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNativeTanpi.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestNativeNormalize.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativePowr.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativePowr.java
similarity index 83%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativePowr.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativePowr.java
index f4443e4..abe6999 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativePowr.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativePowr.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestNativePowr extends RSBaseCompute {
+public class TestNativePowr extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestNativePowr script;
-    private ScriptC_GeneratedTestNativePowrRelaxed scriptRelaxed;
+    private ScriptC_TestNativePowr script;
+    private ScriptC_TestNativePowrRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestNativePowr(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestNativePowrRelaxed(mRS);
+        script = new ScriptC_TestNativePowr(mRS);
+        scriptRelaxed = new ScriptC_TestNativePowrRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloatFloat {
@@ -85,19 +85,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inBase: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inBase, Float.floatToRawIntBits(args.inBase), args.inBase));
+                    appendVariableToMessage(message, args.inBase);
                     message.append("\n");
                     message.append("Input inExponent: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inExponent, Float.floatToRawIntBits(args.inExponent), args.inExponent));
+                    appendVariableToMessage(message, args.inExponent);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -154,19 +151,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inBase: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inBase, Float.floatToRawIntBits(args.inBase), args.inBase));
+                    appendVariableToMessage(message, args.inBase);
                     message.append("\n");
                     message.append("Input inExponent: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inExponent, Float.floatToRawIntBits(args.inExponent), args.inExponent));
+                    appendVariableToMessage(message, args.inExponent);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -223,19 +217,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inBase: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inBase, Float.floatToRawIntBits(args.inBase), args.inBase));
+                    appendVariableToMessage(message, args.inBase);
                     message.append("\n");
                     message.append("Input inExponent: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inExponent, Float.floatToRawIntBits(args.inExponent), args.inExponent));
+                    appendVariableToMessage(message, args.inExponent);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -292,19 +283,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inBase: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inBase, Float.floatToRawIntBits(args.inBase), args.inBase));
+                    appendVariableToMessage(message, args.inBase);
                     message.append("\n");
                     message.append("Input inExponent: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inExponent, Float.floatToRawIntBits(args.inExponent), args.inExponent));
+                    appendVariableToMessage(message, args.inExponent);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativePowr.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativePowr.rs
similarity index 95%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativePowr.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativePowr.rs
index 8adc2d2..4bedb98 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativePowr.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativePowr.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 rs_allocation gAllocInExponent;
 
 float __attribute__((kernel)) testNativePowrFloatFloatFloat(float inBase, unsigned int x) {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativePowrRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativePowrRelaxed.rs
index 1760b34..c453409 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativePowrRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestNativePowr.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeRecip.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeRecip.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeRecip.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeRecip.java
index 88d9f82..3d4daf7 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeRecip.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeRecip.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestNativeRecip extends RSBaseCompute {
+public class TestNativeRecip extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestNativeRecip script;
-    private ScriptC_GeneratedTestNativeRecipRelaxed scriptRelaxed;
+    private ScriptC_TestNativeRecip script;
+    private ScriptC_TestNativeRecipRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestNativeRecip(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestNativeRecipRelaxed(mRS);
+        script = new ScriptC_TestNativeRecip(mRS);
+        scriptRelaxed = new ScriptC_TestNativeRecipRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeRecip.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeRecip.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeRecip.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeRecip.rs
index 01220dc..7eb6419 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeRecip.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeRecip.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testNativeRecipFloatFloat(float inV) {
     return native_recip(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeRecipRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeRecipRelaxed.rs
index 1760b34..432a3a9 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeRecipRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestNativeRecip.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeRootn.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeRootn.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeRootn.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeRootn.java
index 9d42f44..989c3f3 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeRootn.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeRootn.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestNativeRootn extends RSBaseCompute {
+public class TestNativeRootn extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestNativeRootn script;
-    private ScriptC_GeneratedTestNativeRootnRelaxed scriptRelaxed;
+    private ScriptC_TestNativeRootn script;
+    private ScriptC_TestNativeRootnRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestNativeRootn(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestNativeRootnRelaxed(mRS);
+        script = new ScriptC_TestNativeRootn(mRS);
+        scriptRelaxed = new ScriptC_TestNativeRootnRelaxed(mRS);
     }
 
     public class ArgumentsFloatIntFloat {
@@ -85,18 +85,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Input inN: ");
-                    message.append(String.format("%d", args.inN));
+                    appendVariableToMessage(message, args.inN);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -153,18 +151,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Input inN: ");
-                    message.append(String.format("%d", args.inN));
+                    appendVariableToMessage(message, args.inN);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -221,18 +217,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Input inN: ");
-                    message.append(String.format("%d", args.inN));
+                    appendVariableToMessage(message, args.inN);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -289,18 +283,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Input inN: ");
-                    message.append(String.format("%d", args.inN));
+                    appendVariableToMessage(message, args.inN);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeRootn.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeRootn.rs
similarity index 94%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeRootn.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeRootn.rs
index 1aeb2b2..dcd3e52 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeRootn.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeRootn.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 rs_allocation gAllocInN;
 
 float __attribute__((kernel)) testNativeRootnFloatIntFloat(float inV, unsigned int x) {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeRootnRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeRootnRelaxed.rs
index 1760b34..ffb70c0f 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeRootnRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestNativeRootn.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeRsqrt.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeRsqrt.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeRsqrt.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeRsqrt.java
index 88b821a..14cdc42 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeRsqrt.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeRsqrt.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestNativeRsqrt extends RSBaseCompute {
+public class TestNativeRsqrt extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestNativeRsqrt script;
-    private ScriptC_GeneratedTestNativeRsqrtRelaxed scriptRelaxed;
+    private ScriptC_TestNativeRsqrt script;
+    private ScriptC_TestNativeRsqrtRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestNativeRsqrt(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestNativeRsqrtRelaxed(mRS);
+        script = new ScriptC_TestNativeRsqrt(mRS);
+        scriptRelaxed = new ScriptC_TestNativeRsqrtRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeRsqrt.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeRsqrt.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeRsqrt.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeRsqrt.rs
index b7c3173..ce49268 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeRsqrt.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeRsqrt.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testNativeRsqrtFloatFloat(float inV) {
     return native_rsqrt(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeRsqrtRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeRsqrtRelaxed.rs
index 1760b34..6228ce5 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeRsqrtRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestNativeRsqrt.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeSin.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSin.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeSin.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSin.java
index 29cc178..efed35c 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeSin.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSin.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestNativeSin extends RSBaseCompute {
+public class TestNativeSin extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestNativeSin script;
-    private ScriptC_GeneratedTestNativeSinRelaxed scriptRelaxed;
+    private ScriptC_TestNativeSin script;
+    private ScriptC_TestNativeSinRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestNativeSin(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestNativeSinRelaxed(mRS);
+        script = new ScriptC_TestNativeSin(mRS);
+        scriptRelaxed = new ScriptC_TestNativeSinRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeSin.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSin.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeSin.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSin.rs
index dacc15e..abd9be7 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeSin.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSin.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testNativeSinFloatFloat(float inV) {
     return native_sin(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSinRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSinRelaxed.rs
index 1760b34..d9d8598 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSinRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestNativeSin.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeSincos.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSincos.java
similarity index 83%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeSincos.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSincos.java
index 8812b4d..cc4e42b 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeSincos.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSincos.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestNativeSincos extends RSBaseCompute {
+public class TestNativeSincos extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestNativeSincos script;
-    private ScriptC_GeneratedTestNativeSincosRelaxed scriptRelaxed;
+    private ScriptC_TestNativeSincos script;
+    private ScriptC_TestNativeSincosRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestNativeSincos(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestNativeSincosRelaxed(mRS);
+        script = new ScriptC_TestNativeSincos(mRS);
+        scriptRelaxed = new ScriptC_TestNativeSincosRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloatFloat {
@@ -88,25 +88,22 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output outCos: ");
-                    message.append(args.outCos.toString());
+                    appendVariableToMessage(message, args.outCos);
                     message.append("\n");
                     message.append("Actual   output outCos: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOutCos[i * 1 + j], Float.floatToRawIntBits(arrayOutCos[i * 1 + j]), arrayOutCos[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOutCos[i * 1 + j]);
                     if (!args.outCos.couldBe(arrayOutCos[i * 1 + j], 0.0005)) {
                         message.append(" FAIL");
                     }
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j], 0.0005)) {
                         message.append(" FAIL");
                     }
@@ -166,25 +163,22 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output outCos: ");
-                    message.append(args.outCos.toString());
+                    appendVariableToMessage(message, args.outCos);
                     message.append("\n");
                     message.append("Actual   output outCos: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOutCos[i * 2 + j], Float.floatToRawIntBits(arrayOutCos[i * 2 + j]), arrayOutCos[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOutCos[i * 2 + j]);
                     if (!args.outCos.couldBe(arrayOutCos[i * 2 + j], 0.0005)) {
                         message.append(" FAIL");
                     }
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j], 0.0005)) {
                         message.append(" FAIL");
                     }
@@ -244,25 +238,22 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output outCos: ");
-                    message.append(args.outCos.toString());
+                    appendVariableToMessage(message, args.outCos);
                     message.append("\n");
                     message.append("Actual   output outCos: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOutCos[i * 4 + j], Float.floatToRawIntBits(arrayOutCos[i * 4 + j]), arrayOutCos[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOutCos[i * 4 + j]);
                     if (!args.outCos.couldBe(arrayOutCos[i * 4 + j], 0.0005)) {
                         message.append(" FAIL");
                     }
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
                         message.append(" FAIL");
                     }
@@ -322,25 +313,22 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output outCos: ");
-                    message.append(args.outCos.toString());
+                    appendVariableToMessage(message, args.outCos);
                     message.append("\n");
                     message.append("Actual   output outCos: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOutCos[i * 4 + j], Float.floatToRawIntBits(arrayOutCos[i * 4 + j]), arrayOutCos[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOutCos[i * 4 + j]);
                     if (!args.outCos.couldBe(arrayOutCos[i * 4 + j], 0.0005)) {
                         message.append(" FAIL");
                     }
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeSincos.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSincos.rs
similarity index 95%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeSincos.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSincos.rs
index 741a49b..01d2b0a 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeSincos.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSincos.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 rs_allocation gAllocOutCos;
 
 float __attribute__((kernel)) testNativeSincosFloatFloatFloat(float inV, unsigned int x) {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSincosRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSincosRelaxed.rs
index 1760b34..0b9fe34 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSincosRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestNativeSincos.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeSinh.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSinh.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeSinh.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSinh.java
index cb7b90e..8f03189 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeSinh.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSinh.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestNativeSinh extends RSBaseCompute {
+public class TestNativeSinh extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestNativeSinh script;
-    private ScriptC_GeneratedTestNativeSinhRelaxed scriptRelaxed;
+    private ScriptC_TestNativeSinh script;
+    private ScriptC_TestNativeSinhRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestNativeSinh(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestNativeSinhRelaxed(mRS);
+        script = new ScriptC_TestNativeSinh(mRS);
+        scriptRelaxed = new ScriptC_TestNativeSinhRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeSinh.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSinh.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeSinh.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSinh.rs
index 8eecf7c..0440188 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeSinh.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSinh.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testNativeSinhFloatFloat(float inV) {
     return native_sinh(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSinhRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSinhRelaxed.rs
index 1760b34..45bc8ce 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSinhRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestNativeSinh.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeSinpi.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSinpi.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeSinpi.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSinpi.java
index a887d0e..53ada72 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeSinpi.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSinpi.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestNativeSinpi extends RSBaseCompute {
+public class TestNativeSinpi extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestNativeSinpi script;
-    private ScriptC_GeneratedTestNativeSinpiRelaxed scriptRelaxed;
+    private ScriptC_TestNativeSinpi script;
+    private ScriptC_TestNativeSinpiRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestNativeSinpi(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestNativeSinpiRelaxed(mRS);
+        script = new ScriptC_TestNativeSinpi(mRS);
+        scriptRelaxed = new ScriptC_TestNativeSinpiRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeSinpi.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSinpi.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeSinpi.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSinpi.rs
index 7d88eb6..7cd4758 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeSinpi.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSinpi.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testNativeSinpiFloatFloat(float inV) {
     return native_sinpi(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSinpiRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSinpiRelaxed.rs
index 1760b34..455269d 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSinpiRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestNativeSinpi.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeSqrt.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSqrt.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeSqrt.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSqrt.java
index a64fff3..7e52f17 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeSqrt.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSqrt.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestNativeSqrt extends RSBaseCompute {
+public class TestNativeSqrt extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestNativeSqrt script;
-    private ScriptC_GeneratedTestNativeSqrtRelaxed scriptRelaxed;
+    private ScriptC_TestNativeSqrt script;
+    private ScriptC_TestNativeSqrtRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestNativeSqrt(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestNativeSqrtRelaxed(mRS);
+        script = new ScriptC_TestNativeSqrt(mRS);
+        scriptRelaxed = new ScriptC_TestNativeSqrtRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeSqrt.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSqrt.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeSqrt.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSqrt.rs
index c312e6a..e5dcc4e 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeSqrt.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSqrt.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testNativeSqrtFloatFloat(float inV) {
     return native_sqrt(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSqrtRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSqrtRelaxed.rs
index 1760b34..1db9ebd 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSqrtRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestNativeSqrt.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeTan.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeTan.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeTan.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeTan.java
index 8dc9836..99aed2d 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeTan.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeTan.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestNativeTan extends RSBaseCompute {
+public class TestNativeTan extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestNativeTan script;
-    private ScriptC_GeneratedTestNativeTanRelaxed scriptRelaxed;
+    private ScriptC_TestNativeTan script;
+    private ScriptC_TestNativeTanRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestNativeTan(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestNativeTanRelaxed(mRS);
+        script = new ScriptC_TestNativeTan(mRS);
+        scriptRelaxed = new ScriptC_TestNativeTanRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeTan.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeTan.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeTan.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeTan.rs
index 004ffc5..603ed8c 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeTan.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeTan.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testNativeTanFloatFloat(float inV) {
     return native_tan(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeTanRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeTanRelaxed.rs
index 1760b34..b098bd5 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeTanRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestNativeTan.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeTanh.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeTanh.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeTanh.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeTanh.java
index e2674bf..c2bb0ca 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeTanh.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeTanh.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestNativeTanh extends RSBaseCompute {
+public class TestNativeTanh extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestNativeTanh script;
-    private ScriptC_GeneratedTestNativeTanhRelaxed scriptRelaxed;
+    private ScriptC_TestNativeTanh script;
+    private ScriptC_TestNativeTanhRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestNativeTanh(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestNativeTanhRelaxed(mRS);
+        script = new ScriptC_TestNativeTanh(mRS);
+        scriptRelaxed = new ScriptC_TestNativeTanhRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeTanh.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeTanh.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeTanh.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeTanh.rs
index 03fed50..027a89f 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeTanh.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeTanh.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testNativeTanhFloatFloat(float inV) {
     return native_tanh(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeTanhRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeTanhRelaxed.rs
index 1760b34..f18baa7 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeTanhRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestNativeTanh.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeTanpi.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeTanpi.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeTanpi.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeTanpi.java
index f046f1e..c93e6a5 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeTanpi.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeTanpi.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestNativeTanpi extends RSBaseCompute {
+public class TestNativeTanpi extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestNativeTanpi script;
-    private ScriptC_GeneratedTestNativeTanpiRelaxed scriptRelaxed;
+    private ScriptC_TestNativeTanpi script;
+    private ScriptC_TestNativeTanpiRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestNativeTanpi(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestNativeTanpiRelaxed(mRS);
+        script = new ScriptC_TestNativeTanpi(mRS);
+        scriptRelaxed = new ScriptC_TestNativeTanpiRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeTanpi.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeTanpi.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeTanpi.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeTanpi.rs
index c553315..e0c4b0b 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNativeTanpi.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeTanpi.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testNativeTanpiFloatFloat(float inV) {
     return native_tanpi(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeTanpiRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeTanpiRelaxed.rs
index 1760b34..b542ad9 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeTanpiRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestNativeTanpi.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNextafter.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNextafter.java
similarity index 83%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNextafter.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNextafter.java
index 2d9567f..932f052 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNextafter.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNextafter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestNextafter extends RSBaseCompute {
+public class TestNextafter extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestNextafter script;
-    private ScriptC_GeneratedTestNextafterRelaxed scriptRelaxed;
+    private ScriptC_TestNextafter script;
+    private ScriptC_TestNextafterRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestNextafter(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestNextafterRelaxed(mRS);
+        script = new ScriptC_TestNextafter(mRS);
+        scriptRelaxed = new ScriptC_TestNextafterRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloatFloat {
@@ -85,19 +85,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Input inTarget: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inTarget, Float.floatToRawIntBits(args.inTarget), args.inTarget));
+                    appendVariableToMessage(message, args.inTarget);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -154,19 +151,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Input inTarget: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inTarget, Float.floatToRawIntBits(args.inTarget), args.inTarget));
+                    appendVariableToMessage(message, args.inTarget);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -223,19 +217,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Input inTarget: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inTarget, Float.floatToRawIntBits(args.inTarget), args.inTarget));
+                    appendVariableToMessage(message, args.inTarget);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -292,19 +283,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Input inTarget: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inTarget, Float.floatToRawIntBits(args.inTarget), args.inTarget));
+                    appendVariableToMessage(message, args.inTarget);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNextafter.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNextafter.rs
similarity index 95%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNextafter.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNextafter.rs
index b7c57f6..fb9ac70 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNextafter.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNextafter.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 rs_allocation gAllocInTarget;
 
 float __attribute__((kernel)) testNextafterFloatFloatFloat(float inV, unsigned int x) {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNextafterRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNextafterRelaxed.rs
index 1760b34..fd8dad3 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNextafterRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestNextafter.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNormalize.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNormalize.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNormalize.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNormalize.java
index 34d2cb0..ed233bc 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNormalize.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNormalize.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestNormalize extends RSBaseCompute {
+public class TestNormalize extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestNormalize script;
-    private ScriptC_GeneratedTestNormalizeRelaxed scriptRelaxed;
+    private ScriptC_TestNormalize script;
+    private ScriptC_TestNormalizeRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestNormalize(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestNormalizeRelaxed(mRS);
+        script = new ScriptC_TestNormalize(mRS);
+        scriptRelaxed = new ScriptC_TestNormalizeRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
             if (!valid) {
                 StringBuilder message = new StringBuilder();
                 message.append("Input inV: ");
-                message.append(String.format("%14.8g {%8x} %15a",
-                        arrayInV[i], Float.floatToRawIntBits(arrayInV[i]), arrayInV[i]));
+                appendVariableToMessage(message, arrayInV[i]);
                 message.append("\n");
                 message.append("Expected output out: ");
-                message.append(args.out.toString());
+                appendVariableToMessage(message, args.out);
                 message.append("\n");
                 message.append("Actual   output out: ");
-                message.append(String.format("%14.8g {%8x} %15a",
-                        arrayOut[i], Float.floatToRawIntBits(arrayOut[i]), arrayOut[i]));
+                appendVariableToMessage(message, arrayOut[i]);
                 if (!args.out.couldBe(arrayOut[i])) {
                     message.append(" FAIL");
                 }
@@ -148,17 +146,15 @@
                 StringBuilder message = new StringBuilder();
                 for (int j = 0; j < 2 ; j++) {
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayInV[i * 2 + j], Float.floatToRawIntBits(arrayInV[i * 2 + j]), arrayInV[i * 2 + j]));
+                    appendVariableToMessage(message, arrayInV[i * 2 + j]);
                     message.append("\n");
                 }
                 for (int j = 0; j < 2 ; j++) {
                     message.append("Expected output out: ");
-                    message.append(args.out[j].toString());
+                    appendVariableToMessage(message, args.out[j]);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out[j].couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -216,17 +212,15 @@
                 StringBuilder message = new StringBuilder();
                 for (int j = 0; j < 3 ; j++) {
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayInV[i * 4 + j], Float.floatToRawIntBits(arrayInV[i * 4 + j]), arrayInV[i * 4 + j]));
+                    appendVariableToMessage(message, arrayInV[i * 4 + j]);
                     message.append("\n");
                 }
                 for (int j = 0; j < 3 ; j++) {
                     message.append("Expected output out: ");
-                    message.append(args.out[j].toString());
+                    appendVariableToMessage(message, args.out[j]);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out[j].couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -284,17 +278,15 @@
                 StringBuilder message = new StringBuilder();
                 for (int j = 0; j < 4 ; j++) {
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayInV[i * 4 + j], Float.floatToRawIntBits(arrayInV[i * 4 + j]), arrayInV[i * 4 + j]));
+                    appendVariableToMessage(message, arrayInV[i * 4 + j]);
                     message.append("\n");
                 }
                 for (int j = 0; j < 4 ; j++) {
                     message.append("Expected output out: ");
-                    message.append(args.out[j].toString());
+                    appendVariableToMessage(message, args.out[j]);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out[j].couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNormalize.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNormalize.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNormalize.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNormalize.rs
index fbb5281..46c8aad 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNormalize.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNormalize.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testNormalizeFloatFloat(float inV) {
     return normalize(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNormalizeRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestNormalizeRelaxed.rs
index 1760b34..48d69b8 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNormalizeRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestNormalize.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestPow.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestPow.java
similarity index 83%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestPow.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestPow.java
index fcdd097..0990141 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestPow.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestPow.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestPow extends RSBaseCompute {
+public class TestPow extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestPow script;
-    private ScriptC_GeneratedTestPowRelaxed scriptRelaxed;
+    private ScriptC_TestPow script;
+    private ScriptC_TestPowRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestPow(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestPowRelaxed(mRS);
+        script = new ScriptC_TestPow(mRS);
+        scriptRelaxed = new ScriptC_TestPowRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloatFloat {
@@ -85,19 +85,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inBase: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inBase, Float.floatToRawIntBits(args.inBase), args.inBase));
+                    appendVariableToMessage(message, args.inBase);
                     message.append("\n");
                     message.append("Input inExponent: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inExponent, Float.floatToRawIntBits(args.inExponent), args.inExponent));
+                    appendVariableToMessage(message, args.inExponent);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -154,19 +151,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inBase: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inBase, Float.floatToRawIntBits(args.inBase), args.inBase));
+                    appendVariableToMessage(message, args.inBase);
                     message.append("\n");
                     message.append("Input inExponent: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inExponent, Float.floatToRawIntBits(args.inExponent), args.inExponent));
+                    appendVariableToMessage(message, args.inExponent);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -223,19 +217,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inBase: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inBase, Float.floatToRawIntBits(args.inBase), args.inBase));
+                    appendVariableToMessage(message, args.inBase);
                     message.append("\n");
                     message.append("Input inExponent: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inExponent, Float.floatToRawIntBits(args.inExponent), args.inExponent));
+                    appendVariableToMessage(message, args.inExponent);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -292,19 +283,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inBase: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inBase, Float.floatToRawIntBits(args.inBase), args.inBase));
+                    appendVariableToMessage(message, args.inBase);
                     message.append("\n");
                     message.append("Input inExponent: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inExponent, Float.floatToRawIntBits(args.inExponent), args.inExponent));
+                    appendVariableToMessage(message, args.inExponent);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestPow.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestPow.rs
similarity index 95%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestPow.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestPow.rs
index 1033d0e..2ef2106 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestPow.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestPow.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 rs_allocation gAllocInExponent;
 
 float __attribute__((kernel)) testPowFloatFloatFloat(float inBase, unsigned int x) {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestPowRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestPowRelaxed.rs
index 1760b34..042b07c 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestPowRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestPow.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestPown.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestPown.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestPown.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestPown.java
index f412854..28deaa7 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestPown.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestPown.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestPown extends RSBaseCompute {
+public class TestPown extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestPown script;
-    private ScriptC_GeneratedTestPownRelaxed scriptRelaxed;
+    private ScriptC_TestPown script;
+    private ScriptC_TestPownRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestPown(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestPownRelaxed(mRS);
+        script = new ScriptC_TestPown(mRS);
+        scriptRelaxed = new ScriptC_TestPownRelaxed(mRS);
     }
 
     public class ArgumentsFloatIntFloat {
@@ -85,18 +85,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inBase: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inBase, Float.floatToRawIntBits(args.inBase), args.inBase));
+                    appendVariableToMessage(message, args.inBase);
                     message.append("\n");
                     message.append("Input inExponent: ");
-                    message.append(String.format("%d", args.inExponent));
+                    appendVariableToMessage(message, args.inExponent);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -153,18 +151,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inBase: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inBase, Float.floatToRawIntBits(args.inBase), args.inBase));
+                    appendVariableToMessage(message, args.inBase);
                     message.append("\n");
                     message.append("Input inExponent: ");
-                    message.append(String.format("%d", args.inExponent));
+                    appendVariableToMessage(message, args.inExponent);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -221,18 +217,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inBase: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inBase, Float.floatToRawIntBits(args.inBase), args.inBase));
+                    appendVariableToMessage(message, args.inBase);
                     message.append("\n");
                     message.append("Input inExponent: ");
-                    message.append(String.format("%d", args.inExponent));
+                    appendVariableToMessage(message, args.inExponent);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -289,18 +283,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inBase: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inBase, Float.floatToRawIntBits(args.inBase), args.inBase));
+                    appendVariableToMessage(message, args.inBase);
                     message.append("\n");
                     message.append("Input inExponent: ");
-                    message.append(String.format("%d", args.inExponent));
+                    appendVariableToMessage(message, args.inExponent);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestPown.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestPown.rs
similarity index 95%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestPown.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestPown.rs
index f4fa3d8..b30af22 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestPown.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestPown.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 rs_allocation gAllocInExponent;
 
 float __attribute__((kernel)) testPownFloatIntFloat(float inBase, unsigned int x) {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestPownRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestPownRelaxed.rs
index 1760b34..dada2ae 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestPownRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestPown.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestPowr.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestPowr.java
similarity index 83%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestPowr.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestPowr.java
index 740500d..a1fd360 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestPowr.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestPowr.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestPowr extends RSBaseCompute {
+public class TestPowr extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestPowr script;
-    private ScriptC_GeneratedTestPowrRelaxed scriptRelaxed;
+    private ScriptC_TestPowr script;
+    private ScriptC_TestPowrRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestPowr(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestPowrRelaxed(mRS);
+        script = new ScriptC_TestPowr(mRS);
+        scriptRelaxed = new ScriptC_TestPowrRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloatFloat {
@@ -85,19 +85,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inBase: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inBase, Float.floatToRawIntBits(args.inBase), args.inBase));
+                    appendVariableToMessage(message, args.inBase);
                     message.append("\n");
                     message.append("Input inExponent: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inExponent, Float.floatToRawIntBits(args.inExponent), args.inExponent));
+                    appendVariableToMessage(message, args.inExponent);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -154,19 +151,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inBase: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inBase, Float.floatToRawIntBits(args.inBase), args.inBase));
+                    appendVariableToMessage(message, args.inBase);
                     message.append("\n");
                     message.append("Input inExponent: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inExponent, Float.floatToRawIntBits(args.inExponent), args.inExponent));
+                    appendVariableToMessage(message, args.inExponent);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -223,19 +217,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inBase: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inBase, Float.floatToRawIntBits(args.inBase), args.inBase));
+                    appendVariableToMessage(message, args.inBase);
                     message.append("\n");
                     message.append("Input inExponent: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inExponent, Float.floatToRawIntBits(args.inExponent), args.inExponent));
+                    appendVariableToMessage(message, args.inExponent);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -292,19 +283,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inBase: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inBase, Float.floatToRawIntBits(args.inBase), args.inBase));
+                    appendVariableToMessage(message, args.inBase);
                     message.append("\n");
                     message.append("Input inExponent: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inExponent, Float.floatToRawIntBits(args.inExponent), args.inExponent));
+                    appendVariableToMessage(message, args.inExponent);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestPowr.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestPowr.rs
similarity index 95%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestPowr.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestPowr.rs
index 9cd9da0..66c0e5f 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestPowr.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestPowr.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 rs_allocation gAllocInExponent;
 
 float __attribute__((kernel)) testPowrFloatFloatFloat(float inBase, unsigned int x) {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestPowrRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestPowrRelaxed.rs
index 1760b34..a9c7247 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestPowrRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestPowr.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestRadians.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRadians.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestRadians.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestRadians.java
index 61bf9b2..cb908be 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestRadians.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRadians.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestRadians extends RSBaseCompute {
+public class TestRadians extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestRadians script;
-    private ScriptC_GeneratedTestRadiansRelaxed scriptRelaxed;
+    private ScriptC_TestRadians script;
+    private ScriptC_TestRadiansRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestRadians(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestRadiansRelaxed(mRS);
+        script = new ScriptC_TestRadians(mRS);
+        scriptRelaxed = new ScriptC_TestRadiansRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestRadians.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRadians.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestRadians.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestRadians.rs
index 035a936..27d178a 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestRadians.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRadians.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testRadiansFloatFloat(float inV) {
     return radians(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRadiansRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestRadiansRelaxed.rs
index 1760b34..b8a2669 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRadiansRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestRadians.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestRemainder.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRemainder.java
similarity index 83%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestRemainder.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestRemainder.java
index 9bb5c65..2bd73c5 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestRemainder.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRemainder.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestRemainder extends RSBaseCompute {
+public class TestRemainder extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestRemainder script;
-    private ScriptC_GeneratedTestRemainderRelaxed scriptRelaxed;
+    private ScriptC_TestRemainder script;
+    private ScriptC_TestRemainderRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestRemainder(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestRemainderRelaxed(mRS);
+        script = new ScriptC_TestRemainder(mRS);
+        scriptRelaxed = new ScriptC_TestRemainderRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloatFloat {
@@ -85,19 +85,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inNumerator: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inNumerator, Float.floatToRawIntBits(args.inNumerator), args.inNumerator));
+                    appendVariableToMessage(message, args.inNumerator);
                     message.append("\n");
                     message.append("Input inDenominator: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inDenominator, Float.floatToRawIntBits(args.inDenominator), args.inDenominator));
+                    appendVariableToMessage(message, args.inDenominator);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -154,19 +151,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inNumerator: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inNumerator, Float.floatToRawIntBits(args.inNumerator), args.inNumerator));
+                    appendVariableToMessage(message, args.inNumerator);
                     message.append("\n");
                     message.append("Input inDenominator: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inDenominator, Float.floatToRawIntBits(args.inDenominator), args.inDenominator));
+                    appendVariableToMessage(message, args.inDenominator);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -223,19 +217,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inNumerator: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inNumerator, Float.floatToRawIntBits(args.inNumerator), args.inNumerator));
+                    appendVariableToMessage(message, args.inNumerator);
                     message.append("\n");
                     message.append("Input inDenominator: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inDenominator, Float.floatToRawIntBits(args.inDenominator), args.inDenominator));
+                    appendVariableToMessage(message, args.inDenominator);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -292,19 +283,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inNumerator: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inNumerator, Float.floatToRawIntBits(args.inNumerator), args.inNumerator));
+                    appendVariableToMessage(message, args.inNumerator);
                     message.append("\n");
                     message.append("Input inDenominator: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inDenominator, Float.floatToRawIntBits(args.inDenominator), args.inDenominator));
+                    appendVariableToMessage(message, args.inDenominator);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestRemainder.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRemainder.rs
similarity index 95%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestRemainder.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestRemainder.rs
index a0aa809..38de51c 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestRemainder.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRemainder.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 rs_allocation gAllocInDenominator;
 
 float __attribute__((kernel)) testRemainderFloatFloatFloat(float inNumerator, unsigned int x) {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRemainderRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestRemainderRelaxed.rs
index 1760b34..6a2e02f 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRemainderRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestRemainder.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestRemquo.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRemquo.java
similarity index 87%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestRemquo.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestRemquo.java
index 7298e5f..29338d8 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestRemquo.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRemquo.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestRemquo extends RSBaseCompute {
+public class TestRemquo extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestRemquo script;
-    private ScriptC_GeneratedTestRemquoRelaxed scriptRelaxed;
+    private ScriptC_TestRemquo script;
+    private ScriptC_TestRemquoRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestRemquo(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestRemquoRelaxed(mRS);
+        script = new ScriptC_TestRemquo(mRS);
+        scriptRelaxed = new ScriptC_TestRemquoRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloatIntFloat {
@@ -91,18 +91,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inNumerator: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inNumerator, Float.floatToRawIntBits(args.inNumerator), args.inNumerator));
+                    appendVariableToMessage(message, args.inNumerator);
                     message.append("\n");
                     message.append("Input inDenominator: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inDenominator, Float.floatToRawIntBits(args.inDenominator), args.inDenominator));
+                    appendVariableToMessage(message, args.inDenominator);
                     message.append("\n");
                     message.append("Output outQuotient: ");
-                    message.append(String.format("%d", args.outQuotient));
+                    appendVariableToMessage(message, args.outQuotient);
                     message.append("\n");
                     message.append("Output out: ");
-                    message.append(Float.toString(args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append(errorMessage);
                     assertTrue("Incorrect output for checkRemquoFloatFloatIntFloat" +
@@ -162,18 +160,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inNumerator: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inNumerator, Float.floatToRawIntBits(args.inNumerator), args.inNumerator));
+                    appendVariableToMessage(message, args.inNumerator);
                     message.append("\n");
                     message.append("Input inDenominator: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inDenominator, Float.floatToRawIntBits(args.inDenominator), args.inDenominator));
+                    appendVariableToMessage(message, args.inDenominator);
                     message.append("\n");
                     message.append("Output outQuotient: ");
-                    message.append(String.format("%d", args.outQuotient));
+                    appendVariableToMessage(message, args.outQuotient);
                     message.append("\n");
                     message.append("Output out: ");
-                    message.append(Float.toString(args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append(errorMessage);
                     assertTrue("Incorrect output for checkRemquoFloat2Float2Int2Float2" +
@@ -233,18 +229,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inNumerator: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inNumerator, Float.floatToRawIntBits(args.inNumerator), args.inNumerator));
+                    appendVariableToMessage(message, args.inNumerator);
                     message.append("\n");
                     message.append("Input inDenominator: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inDenominator, Float.floatToRawIntBits(args.inDenominator), args.inDenominator));
+                    appendVariableToMessage(message, args.inDenominator);
                     message.append("\n");
                     message.append("Output outQuotient: ");
-                    message.append(String.format("%d", args.outQuotient));
+                    appendVariableToMessage(message, args.outQuotient);
                     message.append("\n");
                     message.append("Output out: ");
-                    message.append(Float.toString(args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append(errorMessage);
                     assertTrue("Incorrect output for checkRemquoFloat3Float3Int3Float3" +
@@ -304,18 +298,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inNumerator: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inNumerator, Float.floatToRawIntBits(args.inNumerator), args.inNumerator));
+                    appendVariableToMessage(message, args.inNumerator);
                     message.append("\n");
                     message.append("Input inDenominator: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inDenominator, Float.floatToRawIntBits(args.inDenominator), args.inDenominator));
+                    appendVariableToMessage(message, args.inDenominator);
                     message.append("\n");
                     message.append("Output outQuotient: ");
-                    message.append(String.format("%d", args.outQuotient));
+                    appendVariableToMessage(message, args.outQuotient);
                     message.append("\n");
                     message.append("Output out: ");
-                    message.append(Float.toString(args.out));
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append(errorMessage);
                     assertTrue("Incorrect output for checkRemquoFloat4Float4Int4Float4" +
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestRemquo.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRemquo.rs
similarity index 96%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestRemquo.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestRemquo.rs
index fada6c1..15f0034 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestRemquo.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRemquo.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 rs_allocation gAllocInDenominator;
 rs_allocation gAllocOutQuotient;
 
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRemquoRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestRemquoRelaxed.rs
index 1760b34..5d2a1a6 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRemquoRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestRemquo.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestRint.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRint.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestRint.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestRint.java
index 5c296e9..975f321 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestRint.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRint.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestRint extends RSBaseCompute {
+public class TestRint extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestRint script;
-    private ScriptC_GeneratedTestRintRelaxed scriptRelaxed;
+    private ScriptC_TestRint script;
+    private ScriptC_TestRintRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestRint(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestRintRelaxed(mRS);
+        script = new ScriptC_TestRint(mRS);
+        scriptRelaxed = new ScriptC_TestRintRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestRint.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRint.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestRint.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestRint.rs
index 937d1a4..4ac5eb4 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestRint.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRint.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testRintFloatFloat(float inV) {
     return rint(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRintRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestRintRelaxed.rs
index 1760b34..703ca2e 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRintRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestRint.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestRootn.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRootn.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestRootn.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestRootn.java
index 06842b6..1d7a628 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestRootn.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRootn.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestRootn extends RSBaseCompute {
+public class TestRootn extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestRootn script;
-    private ScriptC_GeneratedTestRootnRelaxed scriptRelaxed;
+    private ScriptC_TestRootn script;
+    private ScriptC_TestRootnRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestRootn(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestRootnRelaxed(mRS);
+        script = new ScriptC_TestRootn(mRS);
+        scriptRelaxed = new ScriptC_TestRootnRelaxed(mRS);
     }
 
     public class ArgumentsFloatIntFloat {
@@ -85,18 +85,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Input inN: ");
-                    message.append(String.format("%d", args.inN));
+                    appendVariableToMessage(message, args.inN);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -153,18 +151,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Input inN: ");
-                    message.append(String.format("%d", args.inN));
+                    appendVariableToMessage(message, args.inN);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -221,18 +217,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Input inN: ");
-                    message.append(String.format("%d", args.inN));
+                    appendVariableToMessage(message, args.inN);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -289,18 +283,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Input inN: ");
-                    message.append(String.format("%d", args.inN));
+                    appendVariableToMessage(message, args.inN);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestRootn.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRootn.rs
similarity index 94%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestRootn.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestRootn.rs
index e4ee02b..4e400be 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestRootn.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRootn.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 rs_allocation gAllocInN;
 
 float __attribute__((kernel)) testRootnFloatIntFloat(float inV, unsigned int x) {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRootnRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestRootnRelaxed.rs
index 1760b34..57e29c4 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRootnRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestRootn.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestRound.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRound.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestRound.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestRound.java
index 9278a80..60bf608 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestRound.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRound.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestRound extends RSBaseCompute {
+public class TestRound extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestRound script;
-    private ScriptC_GeneratedTestRoundRelaxed scriptRelaxed;
+    private ScriptC_TestRound script;
+    private ScriptC_TestRoundRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestRound(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestRoundRelaxed(mRS);
+        script = new ScriptC_TestRound(mRS);
+        scriptRelaxed = new ScriptC_TestRoundRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestRound.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRound.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestRound.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestRound.rs
index df77461..cf4b5e2 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestRound.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRound.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testRoundFloatFloat(float inV) {
     return round(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRoundRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestRoundRelaxed.rs
index 1760b34..bd9fdcd 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRoundRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestRound.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestRsqrt.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRsqrt.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestRsqrt.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestRsqrt.java
index aec55d2..b44c4e9 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestRsqrt.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRsqrt.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestRsqrt extends RSBaseCompute {
+public class TestRsqrt extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestRsqrt script;
-    private ScriptC_GeneratedTestRsqrtRelaxed scriptRelaxed;
+    private ScriptC_TestRsqrt script;
+    private ScriptC_TestRsqrtRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestRsqrt(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestRsqrtRelaxed(mRS);
+        script = new ScriptC_TestRsqrt(mRS);
+        scriptRelaxed = new ScriptC_TestRsqrtRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestRsqrt.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRsqrt.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestRsqrt.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestRsqrt.rs
index 72c65cc..38e3d10 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestRsqrt.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRsqrt.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testRsqrtFloatFloat(float inV) {
     return rsqrt(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRsqrtRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestRsqrtRelaxed.rs
index 1760b34..5f52101 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRsqrtRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestRsqrt.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestSign.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestSign.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestSign.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestSign.java
index b9de39f..7e5d7e6 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestSign.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestSign.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestSign extends RSBaseCompute {
+public class TestSign extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestSign script;
-    private ScriptC_GeneratedTestSignRelaxed scriptRelaxed;
+    private ScriptC_TestSign script;
+    private ScriptC_TestSignRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestSign(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestSignRelaxed(mRS);
+        script = new ScriptC_TestSign(mRS);
+        scriptRelaxed = new ScriptC_TestSignRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestSign.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestSign.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestSign.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestSign.rs
index 8f35b36..32be4d9 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestSign.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestSign.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testSignFloatFloat(float inV) {
     return sign(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestSignRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestSignRelaxed.rs
index 1760b34..6e27906 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestSignRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestSign.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestSin.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestSin.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestSin.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestSin.java
index e167669b..80318a8 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestSin.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestSin.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestSin extends RSBaseCompute {
+public class TestSin extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestSin script;
-    private ScriptC_GeneratedTestSinRelaxed scriptRelaxed;
+    private ScriptC_TestSin script;
+    private ScriptC_TestSinRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestSin(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestSinRelaxed(mRS);
+        script = new ScriptC_TestSin(mRS);
+        scriptRelaxed = new ScriptC_TestSinRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestSin.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestSin.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestSin.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestSin.rs
index d68243a..b44653e 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestSin.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestSin.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testSinFloatFloat(float inV) {
     return sin(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestSinRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestSinRelaxed.rs
index 1760b34..dc906a3 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestSinRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestSin.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestSincos.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestSincos.java
similarity index 83%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestSincos.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestSincos.java
index 4c58cd6..f238e8b 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestSincos.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestSincos.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestSincos extends RSBaseCompute {
+public class TestSincos extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestSincos script;
-    private ScriptC_GeneratedTestSincosRelaxed scriptRelaxed;
+    private ScriptC_TestSincos script;
+    private ScriptC_TestSincosRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestSincos(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestSincosRelaxed(mRS);
+        script = new ScriptC_TestSincos(mRS);
+        scriptRelaxed = new ScriptC_TestSincosRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloatFloat {
@@ -88,25 +88,22 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output outCos: ");
-                    message.append(args.outCos.toString());
+                    appendVariableToMessage(message, args.outCos);
                     message.append("\n");
                     message.append("Actual   output outCos: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOutCos[i * 1 + j], Float.floatToRawIntBits(arrayOutCos[i * 1 + j]), arrayOutCos[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOutCos[i * 1 + j]);
                     if (!args.outCos.couldBe(arrayOutCos[i * 1 + j])) {
                         message.append(" FAIL");
                     }
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -166,25 +163,22 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output outCos: ");
-                    message.append(args.outCos.toString());
+                    appendVariableToMessage(message, args.outCos);
                     message.append("\n");
                     message.append("Actual   output outCos: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOutCos[i * 2 + j], Float.floatToRawIntBits(arrayOutCos[i * 2 + j]), arrayOutCos[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOutCos[i * 2 + j]);
                     if (!args.outCos.couldBe(arrayOutCos[i * 2 + j])) {
                         message.append(" FAIL");
                     }
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -244,25 +238,22 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output outCos: ");
-                    message.append(args.outCos.toString());
+                    appendVariableToMessage(message, args.outCos);
                     message.append("\n");
                     message.append("Actual   output outCos: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOutCos[i * 4 + j], Float.floatToRawIntBits(arrayOutCos[i * 4 + j]), arrayOutCos[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOutCos[i * 4 + j]);
                     if (!args.outCos.couldBe(arrayOutCos[i * 4 + j])) {
                         message.append(" FAIL");
                     }
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -322,25 +313,22 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output outCos: ");
-                    message.append(args.outCos.toString());
+                    appendVariableToMessage(message, args.outCos);
                     message.append("\n");
                     message.append("Actual   output outCos: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOutCos[i * 4 + j], Float.floatToRawIntBits(arrayOutCos[i * 4 + j]), arrayOutCos[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOutCos[i * 4 + j]);
                     if (!args.outCos.couldBe(arrayOutCos[i * 4 + j])) {
                         message.append(" FAIL");
                     }
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestSincos.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestSincos.rs
similarity index 95%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestSincos.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestSincos.rs
index 8bad9df..aca40af 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestSincos.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestSincos.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 rs_allocation gAllocOutCos;
 
 float __attribute__((kernel)) testSincosFloatFloatFloat(float inV, unsigned int x) {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestSincosRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestSincosRelaxed.rs
index 1760b34..c82d495 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestSincosRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestSincos.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestSinh.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestSinh.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestSinh.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestSinh.java
index 459da75..9adf1c8 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestSinh.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestSinh.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestSinh extends RSBaseCompute {
+public class TestSinh extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestSinh script;
-    private ScriptC_GeneratedTestSinhRelaxed scriptRelaxed;
+    private ScriptC_TestSinh script;
+    private ScriptC_TestSinhRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestSinh(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestSinhRelaxed(mRS);
+        script = new ScriptC_TestSinh(mRS);
+        scriptRelaxed = new ScriptC_TestSinhRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestSinh.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestSinh.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestSinh.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestSinh.rs
index 1624bd2..e677db7 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestSinh.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestSinh.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testSinhFloatFloat(float inV) {
     return sinh(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestSinhRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestSinhRelaxed.rs
index 1760b34..e85464e 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestSinhRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestSinh.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestSinpi.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestSinpi.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestSinpi.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestSinpi.java
index 12a4c12..f00e45f 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestSinpi.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestSinpi.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestSinpi extends RSBaseCompute {
+public class TestSinpi extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestSinpi script;
-    private ScriptC_GeneratedTestSinpiRelaxed scriptRelaxed;
+    private ScriptC_TestSinpi script;
+    private ScriptC_TestSinpiRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestSinpi(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestSinpiRelaxed(mRS);
+        script = new ScriptC_TestSinpi(mRS);
+        scriptRelaxed = new ScriptC_TestSinpiRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestSinpi.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestSinpi.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestSinpi.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestSinpi.rs
index 9ebbb05..f88d225 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestSinpi.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestSinpi.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testSinpiFloatFloat(float inV) {
     return sinpi(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestSinpiRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestSinpiRelaxed.rs
index 1760b34..3cfd204 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestSinpiRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestSinpi.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestSqrt.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestSqrt.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestSqrt.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestSqrt.java
index cbe47fe..fbb4e6d 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestSqrt.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestSqrt.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestSqrt extends RSBaseCompute {
+public class TestSqrt extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestSqrt script;
-    private ScriptC_GeneratedTestSqrtRelaxed scriptRelaxed;
+    private ScriptC_TestSqrt script;
+    private ScriptC_TestSqrtRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestSqrt(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestSqrtRelaxed(mRS);
+        script = new ScriptC_TestSqrt(mRS);
+        scriptRelaxed = new ScriptC_TestSqrtRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestSqrt.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestSqrt.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestSqrt.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestSqrt.rs
index dfae82a..ae1e96e 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestSqrt.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestSqrt.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testSqrtFloatFloat(float inV) {
     return sqrt(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestSqrtRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestSqrtRelaxed.rs
index 1760b34..019ca76 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestSqrtRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestSqrt.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestStep.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestStep.java
similarity index 84%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestStep.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestStep.java
index 3873a2b..ee2b785 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestStep.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestStep.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestStep extends RSBaseCompute {
+public class TestStep extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestStep script;
-    private ScriptC_GeneratedTestStepRelaxed scriptRelaxed;
+    private ScriptC_TestStep script;
+    private ScriptC_TestStepRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestStep(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestStepRelaxed(mRS);
+        script = new ScriptC_TestStep(mRS);
+        scriptRelaxed = new ScriptC_TestStepRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloatFloat {
@@ -85,19 +85,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inEdge: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inEdge, Float.floatToRawIntBits(args.inEdge), args.inEdge));
+                    appendVariableToMessage(message, args.inEdge);
                     message.append("\n");
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -154,19 +151,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inEdge: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inEdge, Float.floatToRawIntBits(args.inEdge), args.inEdge));
+                    appendVariableToMessage(message, args.inEdge);
                     message.append("\n");
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -223,19 +217,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inEdge: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inEdge, Float.floatToRawIntBits(args.inEdge), args.inEdge));
+                    appendVariableToMessage(message, args.inEdge);
                     message.append("\n");
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -292,19 +283,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inEdge: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inEdge, Float.floatToRawIntBits(args.inEdge), args.inEdge));
+                    appendVariableToMessage(message, args.inEdge);
                     message.append("\n");
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -361,19 +349,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inEdge: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inEdge, Float.floatToRawIntBits(args.inEdge), args.inEdge));
+                    appendVariableToMessage(message, args.inEdge);
                     message.append("\n");
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -430,19 +415,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inEdge: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inEdge, Float.floatToRawIntBits(args.inEdge), args.inEdge));
+                    appendVariableToMessage(message, args.inEdge);
                     message.append("\n");
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -499,19 +481,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inEdge: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inEdge, Float.floatToRawIntBits(args.inEdge), args.inEdge));
+                    appendVariableToMessage(message, args.inEdge);
                     message.append("\n");
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -568,19 +547,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inEdge: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inEdge, Float.floatToRawIntBits(args.inEdge), args.inEdge));
+                    appendVariableToMessage(message, args.inEdge);
                     message.append("\n");
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -637,19 +613,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inEdge: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inEdge, Float.floatToRawIntBits(args.inEdge), args.inEdge));
+                    appendVariableToMessage(message, args.inEdge);
                     message.append("\n");
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -706,19 +679,16 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inEdge: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inEdge, Float.floatToRawIntBits(args.inEdge), args.inEdge));
+                    appendVariableToMessage(message, args.inEdge);
                     message.append("\n");
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestStep.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestStep.rs
similarity index 96%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestStep.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestStep.rs
index b815d52..4af9b23 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestStep.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestStep.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 rs_allocation gAllocInV;
 
 float __attribute__((kernel)) testStepFloatFloatFloat(float inEdge, unsigned int x) {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestStepRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestStepRelaxed.rs
index 1760b34..6f7175d 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestStepRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestStep.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestTan.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestTan.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestTan.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestTan.java
index a90819d..b69ee28 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestTan.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestTan.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestTan extends RSBaseCompute {
+public class TestTan extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestTan script;
-    private ScriptC_GeneratedTestTanRelaxed scriptRelaxed;
+    private ScriptC_TestTan script;
+    private ScriptC_TestTanRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestTan(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestTanRelaxed(mRS);
+        script = new ScriptC_TestTan(mRS);
+        scriptRelaxed = new ScriptC_TestTanRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestTan.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestTan.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestTan.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestTan.rs
index 4190d54..bee11f5 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestTan.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestTan.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testTanFloatFloat(float inV) {
     return tan(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestTanRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestTanRelaxed.rs
index 1760b34..184ff39 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestTanRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestTan.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestTanh.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestTanh.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestTanh.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestTanh.java
index bdfe88a..c4ee08a 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestTanh.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestTanh.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestTanh extends RSBaseCompute {
+public class TestTanh extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestTanh script;
-    private ScriptC_GeneratedTestTanhRelaxed scriptRelaxed;
+    private ScriptC_TestTanh script;
+    private ScriptC_TestTanhRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestTanh(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestTanhRelaxed(mRS);
+        script = new ScriptC_TestTanh(mRS);
+        scriptRelaxed = new ScriptC_TestTanhRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestTanh.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestTanh.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestTanh.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestTanh.rs
index 5855222..41eb343 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestTanh.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestTanh.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testTanhFloatFloat(float inV) {
     return tanh(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestTanhRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestTanhRelaxed.rs
index 1760b34..8148315 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestTanhRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestTanh.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestTanpi.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestTanpi.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestTanpi.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestTanpi.java
index f05b2c1..dd6a383 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestTanpi.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestTanpi.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestTanpi extends RSBaseCompute {
+public class TestTanpi extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestTanpi script;
-    private ScriptC_GeneratedTestTanpiRelaxed scriptRelaxed;
+    private ScriptC_TestTanpi script;
+    private ScriptC_TestTanpiRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestTanpi(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestTanpiRelaxed(mRS);
+        script = new ScriptC_TestTanpi(mRS);
+        scriptRelaxed = new ScriptC_TestTanpiRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestTanpi.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestTanpi.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestTanpi.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestTanpi.rs
index 2fa56e2..d8954b1 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestTanpi.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestTanpi.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testTanpiFloatFloat(float inV) {
     return tanpi(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestTanpiRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestTanpiRelaxed.rs
index 1760b34..eb27c30 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestTanpiRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestTanpi.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestTgamma.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestTgamma.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestTgamma.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestTgamma.java
index feba850..ea25ef1 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestTgamma.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestTgamma.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestTgamma extends RSBaseCompute {
+public class TestTgamma extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestTgamma script;
-    private ScriptC_GeneratedTestTgammaRelaxed scriptRelaxed;
+    private ScriptC_TestTgamma script;
+    private ScriptC_TestTgammaRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestTgamma(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestTgammaRelaxed(mRS);
+        script = new ScriptC_TestTgamma(mRS);
+        scriptRelaxed = new ScriptC_TestTgammaRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestTgamma.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestTgamma.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestTgamma.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestTgamma.rs
index b27b7d4..5431de0 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestTgamma.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestTgamma.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testTgammaFloatFloat(float inV) {
     return tgamma(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestTgammaRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestTgammaRelaxed.rs
index 1760b34..afd1489 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestTgammaRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestTgamma.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestTrunc.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestTrunc.java
similarity index 85%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestTrunc.java
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestTrunc.java
index 0f80d61..ac44fb1 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestTrunc.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestTrunc.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
 package android.renderscript.cts;
 
@@ -22,16 +22,16 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
-public class GeneratedTestTrunc extends RSBaseCompute {
+public class TestTrunc extends RSBaseCompute {
 
-    private ScriptC_GeneratedTestTrunc script;
-    private ScriptC_GeneratedTestTruncRelaxed scriptRelaxed;
+    private ScriptC_TestTrunc script;
+    private ScriptC_TestTruncRelaxed scriptRelaxed;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        script = new ScriptC_GeneratedTestTrunc(mRS);
-        scriptRelaxed = new ScriptC_GeneratedTestTruncRelaxed(mRS);
+        script = new ScriptC_TestTrunc(mRS);
+        scriptRelaxed = new ScriptC_TestTruncRelaxed(mRS);
     }
 
     public class ArgumentsFloatFloat {
@@ -78,15 +78,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 1 + j], Float.floatToRawIntBits(arrayOut[i * 1 + j]), arrayOut[i * 1 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
                     if (!args.out.couldBe(arrayOut[i * 1 + j])) {
                         message.append(" FAIL");
                     }
@@ -137,15 +135,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 2 + j], Float.floatToRawIntBits(arrayOut[i * 2 + j]), arrayOut[i * 2 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
                     if (!args.out.couldBe(arrayOut[i * 2 + j])) {
                         message.append(" FAIL");
                     }
@@ -196,15 +192,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
@@ -255,15 +249,13 @@
                 if (!valid) {
                     StringBuilder message = new StringBuilder();
                     message.append("Input inV: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            args.inV, Float.floatToRawIntBits(args.inV), args.inV));
+                    appendVariableToMessage(message, args.inV);
                     message.append("\n");
                     message.append("Expected output out: ");
-                    message.append(args.out.toString());
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
                     message.append("Actual   output out: ");
-                    message.append(String.format("%14.8g {%8x} %15a",
-                            arrayOut[i * 4 + j], Float.floatToRawIntBits(arrayOut[i * 4 + j]), arrayOut[i * 4 + j]));
+                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
                     if (!args.out.couldBe(arrayOut[i * 4 + j])) {
                         message.append(" FAIL");
                     }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestTrunc.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestTrunc.rs
similarity index 93%
rename from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestTrunc.rs
rename to tests/tests/renderscript/src/android/renderscript/cts/generated/TestTrunc.rs
index 89d959e..350a351 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestTrunc.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestTrunc.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
+
 #pragma version(1)
 #pragma rs java_package_name(android.renderscript.cts)
 
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
-
 
 float __attribute__((kernel)) testTruncFloatFloat(float inV) {
     return trunc(inV);
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestTruncRelaxed.rs
similarity index 86%
copy from tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
copy to tests/tests/renderscript/src/android/renderscript/cts/generated/TestTruncRelaxed.rs
index 1760b34..617b687 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/GeneratedTestNanRelaxed.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestTruncRelaxed.rs
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "GeneratedTestNan.rs"
-#pragma rs_fp_relaxed
-// Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
+// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
 
+#include "TestTrunc.rs"
+#pragma rs_fp_relaxed
diff --git a/tests/tests/security/jni/android_security_cts_SELinuxTest.cpp b/tests/tests/security/jni/android_security_cts_SELinuxTest.cpp
index daac7d9..a68bfb6 100644
--- a/tests/tests/security/jni/android_security_cts_SELinuxTest.cpp
+++ b/tests/tests/security/jni/android_security_cts_SELinuxTest.cpp
@@ -17,7 +17,16 @@
 #include <jni.h>
 #include <selinux/selinux.h>
 #include <JNIHelp.h>
+#include <ScopedLocalRef.h>
 #include <ScopedUtfChars.h>
+#include <UniquePtr.h>
+
+struct SecurityContext_Delete {
+    void operator()(security_context_t p) const {
+        freecon(p);
+    }
+};
+typedef UniquePtr<char[], SecurityContext_Delete> Unique_SecurityContext;
 
 /*
  * Function: checkSELinuxAccess
@@ -63,12 +72,41 @@
     return (validContext == 0) ? true : false;
 }
 
+/*
+ * Function: getFileContext
+ * Purpose: retrieves the context associated with the given path in the file system
+ * Parameters:
+ *        path: given path in the file system
+ * Returns:
+ *        string representing the security context string of the file object
+ *        the string may be NULL if an error occured
+ * Exceptions: NullPointerException if the path object is null
+ */
+static jstring getFileContext(JNIEnv *env, jobject, jstring pathStr) {
+    ScopedUtfChars path(env, pathStr);
+    if (path.c_str() == NULL) {
+        return NULL;
+    }
+
+    security_context_t tmp = NULL;
+    int ret = getfilecon(path.c_str(), &tmp);
+    Unique_SecurityContext context(tmp);
+
+    ScopedLocalRef<jstring> securityString(env, NULL);
+    if (ret != -1) {
+        securityString.reset(env->NewStringUTF(context.get()));
+    }
+
+    return securityString.release();
+}
 
 static JNINativeMethod gMethods[] = {
     {  "checkSELinuxAccess", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z",
             (void *) android_security_cts_SELinuxTest_checkSELinuxAccess },
     {  "checkSELinuxContext", "(Ljava/lang/String;)Z",
             (void *) android_security_cts_SELinuxTest_checkSELinuxContext },
+    { "getFileContext", "(Ljava/lang/String;)Ljava/lang/String;",
+            (void*) getFileContext },
 };
 
 static int log_callback(int type __attribute__((unused)), const char *fmt __attribute__((unused)), ...)
diff --git a/tests/tests/security/src/android/security/cts/SELinuxTest.java b/tests/tests/security/src/android/security/cts/SELinuxTest.java
index baeeb6d..3df7396 100644
--- a/tests/tests/security/src/android/security/cts/SELinuxTest.java
+++ b/tests/tests/security/src/android/security/cts/SELinuxTest.java
@@ -87,7 +87,32 @@
         assertTrue(msg, found.startsWith(expected));
     }
 
+    public void testCTSAppDataContext() throws Exception {
+        File appDataDir = getContext().getFilesDir();
+        String found = getFileContext(appDataDir.getAbsolutePath());
+        String expected = "u:object_r:app_data_file:s0";
+        String msg = "Expected prefix context: \"" + expected + "\"" +
+                        ", Found: \"" + found + "\"";
+        assertTrue(msg, found.startsWith(expected));
+    }
+
+    public void testFileContexts() throws Exception {
+        assertEquals(getFileContext("/"), "u:object_r:rootfs:s0");
+        assertEquals(getFileContext("/dev"), "u:object_r:device:s0");
+        assertEquals(getFileContext("/dev/socket"), "u:object_r:socket_device:s0");
+        assertEquals(getFileContext("/dev/binder"), "u:object_r:binder_device:s0");
+        assertEquals(getFileContext("/system"), "u:object_r:system_file:s0");
+        assertEquals(getFileContext("/system/bin/app_process"), "u:object_r:zygote_exec:s0");
+        assertEquals(getFileContext("/data"), "u:object_r:system_data_file:s0");
+        assertEquals(getFileContext("/data/app"), "u:object_r:apk_data_file:s0");
+        assertEquals(getFileContext("/data/local/tmp"), "u:object_r:shell_data_file:s0");
+        assertEquals(getFileContext("/cache"), "u:object_r:cache_file:s0");
+        assertEquals(getFileContext("/sys"), "u:object_r:sysfs:s0");
+    }
+
     private static native boolean checkSELinuxAccess(String scon, String tcon, String tclass, String perm, String extra);
 
     private static native boolean checkSELinuxContext(String con);
+
+    private static final native String getFileContext(String path);
 }
diff --git a/tests/tests/text/src/android/text/format/cts/TimeTest.java b/tests/tests/text/src/android/text/format/cts/TimeTest.java
index cc73272..37c4f27 100644
--- a/tests/tests/text/src/android/text/format/cts/TimeTest.java
+++ b/tests/tests/text/src/android/text/format/cts/TimeTest.java
@@ -813,10 +813,10 @@
         assertFormatEquals(t, "%m", "06");
         assertFormatEquals(t, "%n", "\n");
         assertFormatEquals(t, "%O", "O");
-        assertFormatEquals(t, "%p", "pm");
-        assertFormatEquals(t, "%P", "pm");
+        assertFormatEquals(t, "%p", "p.m.");
+        assertFormatEquals(t, "%P", "p.m.");
         assertFormatEquals(t, "%R", "12:30");
-        assertFormatEquals(t, "%r", "12:30:15 pm");
+        assertFormatEquals(t, "%r", "12:30:15 p.m.");
         assertFormatEquals(t, "%S", "15");
         // The original C implementation uses the (native) system default TZ, not the timezone of
         // the Time to calculate this and was therefore not stable. This changed to use the Time's
diff --git a/tools/tradefed-host/etc/cts-tradefed b/tools/tradefed-host/etc/cts-tradefed
index 9a643de..5903454 100755
--- a/tools/tradefed-host/etc/cts-tradefed
+++ b/tools/tradefed-host/etc/cts-tradefed
@@ -49,21 +49,22 @@
   RDBG_FLAG=-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=${TF_DEBUG_PORT}
 fi
 
+# get OS
+HOST=`uname`
+if [ "$HOST" == "Linux" ]; then
+    OS="linux-x86"
+elif [ "$HOST" == "Darwin" ]; then
+    OS="darwin-x86"
+else
+    echo "Unrecognized OS"
+    exit
+fi
 
 # check if in Android build env
 if [ ! -z "${ANDROID_BUILD_TOP}" ]; then
     if [ ! -z "${ANDROID_HOST_OUT}" ]; then
       CTS_ROOT=${ANDROID_HOST_OUT}/cts
     else
-      HOST=`uname`
-      if [ "$HOST" == "Linux" ]; then
-          OS="linux-x86"
-      elif [ "$HOST" == "Darwin" ]; then
-          OS="darwin-x86"
-      else
-          echo "Unrecognized OS"
-          exit
-      fi
       CTS_ROOT=${ANDROID_BUILD_TOP}/${OUT_DIR:-out}/host/${OS}/cts
     fi
     if [ ! -d ${CTS_ROOT} ]; then
@@ -85,6 +86,16 @@
     JAR_PATH=${JAR_PATH}:${JAR_DIR}/${JAR}
 done
 
+# load any shared libraries for host-side executables
+LIB_DIR=${CTS_ROOT}/android-cts/lib
+if [ "$HOST" == "Linux" ]; then
+    LD_LIBRARY_PATH=${LIB_DIR}:${LIB_DIR}64:${LD_LIBRARY_PATH}
+    export LD_LIBRARY_PATH
+elif [ "$HOST" == "Darwin" ]; then
+    DYLD_LIBRARY_PATH=${LIB_DIR}:${LIB_DIR}64:${DYLD_LIBRARY_PATH}
+    export DYLD_LIBRARY_PATH
+fi
+
 java $RDBG_FLAG \
   -cp ${JAR_PATH} -DCTS_ROOT=${CTS_ROOT} com.android.cts.tradefed.command.CtsConsole "$@"
 
diff --git a/tools/vm-tests-tf/src/util/build/BuildDalvikSuite.java b/tools/vm-tests-tf/src/util/build/BuildDalvikSuite.java
index c772c33..63794df 100644
--- a/tools/vm-tests-tf/src/util/build/BuildDalvikSuite.java
+++ b/tools/vm-tests-tf/src/util/build/BuildDalvikSuite.java
@@ -211,6 +211,8 @@
         curJunitFileData = getWarningMessage() +
         "package " + pName + ";\n" +
         "import java.io.IOException;\n" +
+        "import java.util.concurrent.TimeUnit;\n\n" +
+        "import com.android.tradefed.device.CollectingOutputReceiver;\n" +
         "import com.android.tradefed.testtype.IAbi;\n" +
         "import com.android.tradefed.testtype.IAbiReceiver;\n" +
         "import com.android.tradefed.testtype.DeviceTestCase;\n" +
@@ -223,10 +225,15 @@
       String cmd = String.format("ANDROID_DATA=%s dalvikvm|#ABI#| -Xmx512M -Xss32K " +
               "-Djava.io.tmpdir=%s -classpath %s %s", TARGET_JAR_ROOT_PATH, TARGET_JAR_ROOT_PATH,
               classpath, mainclass);
-      return "    String cmd = AbiFormatter.formatCmdForAbi(\"" + cmd + "\", mAbi.getBitness());\n" +
-              "    String res = getDevice().executeShellCommand(cmd);\n" +
-              "    // A sucessful adb shell command returns an empty string.\n" +
-              "    assertEquals(cmd, \"\", res);";
+      StringBuilder code = new StringBuilder();
+      code.append("    String cmd = AbiFormatter.formatCmdForAbi(\"")
+          .append(cmd)
+          .append("\", mAbi.getBitness());\n")
+          .append("    CollectingOutputReceiver receiver = new CollectingOutputReceiver();\n")
+          .append("    getDevice().executeShellCommand(cmd, receiver, 6, TimeUnit.MINUTES, 1);\n")
+          .append("    // A sucessful adb shell command returns an empty string.\n")
+          .append("    assertEquals(cmd, \"\", receiver.getOutput());");
+      return code.toString();
     }
 
     private String getWarningMessage() {