diff --git a/repos/libports/run/ieee754.run b/repos/libports/run/ieee754.run
index 96737137ad..13f0159657 100644
--- a/repos/libports/run/ieee754.run
+++ b/repos/libports/run/ieee754.run
@@ -75,7 +75,7 @@ while {true} {
 	set count [expr {[llength [split $output \n]] - 1}]
 	set output $old_output
 	if {$count >= 4} break
-	run_genode_until $exit_line 5 $serial_id
+	run_genode_until $exit_line 10 $serial_id
 }
 
 set reference_output_arm {
@@ -1460,6 +1460,697 @@ pow(-2, 2) = 4
 pow(-2, -2) = 0.25
 }
 
+set reference_output_arm_64 {
+FLT_RADIX = 2
+FLT_MANT_DIG = 24
+DBL_MANT_DIG = 53
+LDBL_MANT_DIG = 113
+
+FLT_MIN_EXP = -125
+DBL_MIN_EXP = -1021
+LDBL_MIN_EXP = -16381
+
+FLT_MAX_EXP = 128
+DBL_MAX_EXP = 1024
+LDBL_MAX_EXP = 16384
+
+FLT_EPSILON = 1.19209e-07 = 0x1p-23
+DBL_EPSILON = 2.22044e-16 = 0x1p-52
+LDBL_EPSILON = 1.92592e-34 = 0x1p-112
+
+FLT_MIN = 1.1755e-38 = 0x1p-126
+DBL_MIN = 2.22508e-308 = 0x1p-1022
+LDBL_MIN = 3.36211e-4932 = 0x1p-16382
+
+FLT_MAX = 3.40283e+38 = 0x1.fffffep+127
+DBL_MAX = 1.7977e+308 = 0x1.fffffffffffffp+1023
+LDBL_MAX = 1.18974e+4932 = 0x1.ffffffffffffffffffffffffffffp+16383
+
+sizeof(float) = 4
+sizeof(double) = 8
+sizeof(long double) = 16
+
+x + y, with x = 9007199254740994.0 and y = 1.0 - 1/65536.0 (type double).
+The IEEE-754 result is 9007199254740994 with double precision.
+The IEEE-754 result is 9007199254740996 with extended precision.
+The obtained result is 9007199254740996.
+
+NAN != NAN --> 1 (should be 1)
+isnan(NAN) --> 1 (should be 1)
+NAN >= 0.0 --> 0 (should be 0)
+NAN <= 0.0 --> 0 (should be 0)
+  #3||#4   --> 0 (should be 0)
+!(#3||#4)  --> 1 (should be 1)
+  #3 + #4  --> 0 (should be 0)
+!(#3 + #4) --> 1 (should be 1)
+The FE_INVALID flag is not set for NAN >= 0.
+The FE_INVALID flag is not set for NAN <= 0.
+The FE_INVALID flag is not set for NAN > 0.
+The FE_INVALID flag is not set for NAN < 0.
+
+x * y + z with FP_CONTRACT OFF is fused.
+
+Rounding to nearest
+(double) 0 = 0
+Signed zero tests (x is 0.0 and y is -0.0):
+  Test 1.0 / x != 1.0 / y  returns 1 (should be 1).
+  Test 1.0 / x == 1.0 / +x returns 1 (should be 1).
+  Test 1.0 / x != 1.0 / +y returns 1 (should be 1).
+  Test 1.0 / x != 1.0 / -x returns 1 (should be 1).
+  Test 1.0 / x == 1.0 / -y returns 1 (should be 1).
+0 + 0 = 0
+0 - 0 = 0
+0 + -0 = 0
+0 - -0 = 0
+-0 + 0 = 0
+-0 - 0 = -0
+-0 + -0 = -0
+-0 - -0 = 0
+1 + 1 = 2
+1 - 1 = 0
+1 + -1 = 0
+1 - -1 = 2
+0 * 0 = 0
+0 * -0 = -0
+-0 * 0 = -0
+-0 * -0 = 0
+Constant expression 1 + DBL_MIN = 1
+Variable expression 1 + DBL_MIN = 1
+Constant expression 1 - DBL_MIN = 1
+Variable expression 1 - DBL_MIN = 1
+1/3 in float       : 0x1.555556p-2
+1/3 in double      : 0x1.5555555555555p-2
+1/3 in long double : 0x1.5555555555555555555555555555p-2
+Dec 1.1  = 0x1.199999999999ap+0
+FLT_MAX  = 0x1.fffffep+127
+DBL_MAX  = 0x1.fffffffffffffp+1023
+LDBL_MAX = 0x1.ffffffffffffffffffffffffffffp+16383
+FLT_EPSILON  = 0x1p-23
+DBL_EPSILON  = 0x1p-52
+LDBL_EPSILON = 0x1p-112
+pow(nan, nan) = nan
+pow(nan, inf) = nan
+pow(nan, -inf) = nan
+pow(nan, 0) = 1
+pow(nan, -0) = 1
+pow(nan, 0.5) = nan
+pow(nan, -0.5) = nan
+pow(nan, 1) = nan
+pow(nan, -1) = nan
+pow(nan, 2) = nan
+pow(nan, -2) = nan
+pow(inf, nan) = nan
+pow(inf, inf) = inf
+pow(inf, -inf) = 0
+pow(inf, 0) = 1
+pow(inf, -0) = 1
+pow(inf, 0.5) = inf
+pow(inf, -0.5) = 0
+pow(inf, 1) = inf
+pow(inf, -1) = 0
+pow(inf, 2) = inf
+pow(inf, -2) = 0
+pow(-inf, nan) = nan
+pow(-inf, inf) = inf
+pow(-inf, -inf) = 0
+pow(-inf, 0) = 1
+pow(-inf, -0) = 1
+pow(-inf, 0.5) = inf
+pow(-inf, -0.5) = 0
+pow(-inf, 1) = -inf
+pow(-inf, -1) = -0
+pow(-inf, 2) = inf
+pow(-inf, -2) = 0
+pow(0, nan) = nan
+pow(0, inf) = 0
+pow(0, -inf) = inf
+pow(0, 0) = 1
+pow(0, -0) = 1
+pow(0, 0.5) = 0
+pow(0, -0.5) = inf
+pow(0, 1) = 0
+pow(0, -1) = inf
+pow(0, 2) = 0
+pow(0, -2) = inf
+pow(-0, nan) = nan
+pow(-0, inf) = 0
+pow(-0, -inf) = inf
+pow(-0, 0) = 1
+pow(-0, -0) = 1
+pow(-0, 0.5) = 0
+pow(-0, -0.5) = inf
+pow(-0, 1) = -0
+pow(-0, -1) = -inf
+pow(-0, 2) = 0
+pow(-0, -2) = inf
+pow(0.5, nan) = nan
+pow(0.5, inf) = 0
+pow(0.5, -inf) = inf
+pow(0.5, 0) = 1
+pow(0.5, -0) = 1
+pow(0.5, 0.5) = 0.707107
+pow(0.5, -0.5) = 1.41421
+pow(0.5, 1) = 0.5
+pow(0.5, -1) = 2
+pow(0.5, 2) = 0.25
+pow(0.5, -2) = 4
+pow(-0.5, nan) = nan
+pow(-0.5, inf) = 0
+pow(-0.5, -inf) = inf
+pow(-0.5, 0) = 1
+pow(-0.5, -0) = 1
+pow(-0.5, 0.5) = nan
+pow(-0.5, -0.5) = nan
+pow(-0.5, 1) = -0.5
+pow(-0.5, -1) = -2
+pow(-0.5, 2) = 0.25
+pow(-0.5, -2) = 4
+pow(1, nan) = 1
+pow(1, inf) = 1
+pow(1, -inf) = 1
+pow(1, 0) = 1
+pow(1, -0) = 1
+pow(1, 0.5) = 1
+pow(1, -0.5) = 1
+pow(1, 1) = 1
+pow(1, -1) = 1
+pow(1, 2) = 1
+pow(1, -2) = 1
+pow(-1, nan) = nan
+pow(-1, inf) = 1
+pow(-1, -inf) = 1
+pow(-1, 0) = 1
+pow(-1, -0) = 1
+pow(-1, 0.5) = nan
+pow(-1, -0.5) = nan
+pow(-1, 1) = -1
+pow(-1, -1) = -1
+pow(-1, 2) = 1
+pow(-1, -2) = 1
+pow(2, nan) = nan
+pow(2, inf) = inf
+pow(2, -inf) = 0
+pow(2, 0) = 1
+pow(2, -0) = 1
+pow(2, 0.5) = 1.41421
+pow(2, -0.5) = 0.707107
+pow(2, 1) = 2
+pow(2, -1) = 0.5
+pow(2, 2) = 4
+pow(2, -2) = 0.25
+pow(-2, nan) = nan
+pow(-2, inf) = inf
+pow(-2, -inf) = 0
+pow(-2, 0) = 1
+pow(-2, -0) = 1
+pow(-2, 0.5) = nan
+pow(-2, -0.5) = nan
+pow(-2, 1) = -2
+pow(-2, -1) = -0.5
+pow(-2, 2) = 4
+pow(-2, -2) = 0.25
+
+Rounding toward 0
+(double) 0 = 0
+Signed zero tests (x is 0.0 and y is -0.0):
+  Test 1.0 / x != 1.0 / y  returns 1 (should be 1).
+  Test 1.0 / x == 1.0 / +x returns 1 (should be 1).
+  Test 1.0 / x != 1.0 / +y returns 1 (should be 1).
+  Test 1.0 / x != 1.0 / -x returns 1 (should be 1).
+  Test 1.0 / x == 1.0 / -y returns 1 (should be 1).
+0 + 0 = 0
+0 - 0 = 0
+0 + -0 = 0
+0 - -0 = 0
+-0 + 0 = 0
+-0 - 0 = -0
+-0 + -0 = -0
+-0 - -0 = 0
+1 + 1 = 2
+1 - 1 = 0
+1 + -1 = 0
+1 - -1 = 2
+0 * 0 = 0
+0 * -0 = -0
+-0 * 0 = -0
+-0 * -0 = 0
+Constant expression 1 + DBL_MIN = 1
+Variable expression 1 + DBL_MIN = 1
+Constant expression 1 - DBL_MIN = 1
+Variable expression 1 - DBL_MIN = 0.99999999999999988897
+1/3 in float       : 0x1.555554p-2
+1/3 in double      : 0x1.5555555555555p-2
+1/3 in long double : 0x1.5555555555555555555555555555p-2
+Dec 1.1  = 0x1.199999999999ap+0
+FLT_MAX  = 0x1.fffffep+127
+DBL_MAX  = 0x1.fffffffffffffp+1023
+LDBL_MAX = 0x1.ffffffffffffffffffffffffffffp+16383
+FLT_EPSILON  = 0x1p-23
+DBL_EPSILON  = 0x1p-52
+LDBL_EPSILON = 0x1p-112
+pow(nan, nan) = nan
+pow(nan, inf) = nan
+pow(nan, -inf) = nan
+pow(nan, 0) = 1
+pow(nan, -0) = 1
+pow(nan, 0.5) = nan
+pow(nan, -0.5) = nan
+pow(nan, 1) = nan
+pow(nan, -1) = nan
+pow(nan, 2) = nan
+pow(nan, -2) = nan
+pow(inf, nan) = nan
+pow(inf, inf) = inf
+pow(inf, -inf) = 0
+pow(inf, 0) = 1
+pow(inf, -0) = 1
+pow(inf, 0.5) = inf
+pow(inf, -0.5) = 0
+pow(inf, 1) = inf
+pow(inf, -1) = 0
+pow(inf, 2) = inf
+pow(inf, -2) = 0
+pow(-inf, nan) = nan
+pow(-inf, inf) = inf
+pow(-inf, -inf) = 0
+pow(-inf, 0) = 1
+pow(-inf, -0) = 1
+pow(-inf, 0.5) = inf
+pow(-inf, -0.5) = 0
+pow(-inf, 1) = -inf
+pow(-inf, -1) = -0
+pow(-inf, 2) = inf
+pow(-inf, -2) = 0
+pow(0, nan) = nan
+pow(0, inf) = 0
+pow(0, -inf) = inf
+pow(0, 0) = 1
+pow(0, -0) = 1
+pow(0, 0.5) = 0
+pow(0, -0.5) = inf
+pow(0, 1) = 0
+pow(0, -1) = inf
+pow(0, 2) = 0
+pow(0, -2) = inf
+pow(-0, nan) = nan
+pow(-0, inf) = 0
+pow(-0, -inf) = inf
+pow(-0, 0) = 1
+pow(-0, -0) = 1
+pow(-0, 0.5) = 0
+pow(-0, -0.5) = inf
+pow(-0, 1) = -0
+pow(-0, -1) = -inf
+pow(-0, 2) = 0
+pow(-0, -2) = inf
+pow(0.5, nan) = nan
+pow(0.5, inf) = 0
+pow(0.5, -inf) = inf
+pow(0.5, 0) = 1
+pow(0.5, -0) = 1
+pow(0.5, 0.5) = 0.707106
+pow(0.5, -0.5) = 1.41421
+pow(0.5, 1) = 0.5
+pow(0.5, -1) = 2
+pow(0.5, 2) = 0.25
+pow(0.5, -2) = 4
+pow(-0.5, nan) = nan
+pow(-0.5, inf) = 0
+pow(-0.5, -inf) = inf
+pow(-0.5, 0) = 1
+pow(-0.5, -0) = 1
+pow(-0.5, 0.5) = nan
+pow(-0.5, -0.5) = nan
+pow(-0.5, 1) = -0.5
+pow(-0.5, -1) = -2
+pow(-0.5, 2) = 0.25
+pow(-0.5, -2) = 4
+pow(1, nan) = 1
+pow(1, inf) = 1
+pow(1, -inf) = 1
+pow(1, 0) = 1
+pow(1, -0) = 1
+pow(1, 0.5) = 1
+pow(1, -0.5) = 1
+pow(1, 1) = 1
+pow(1, -1) = 1
+pow(1, 2) = 1
+pow(1, -2) = 1
+pow(-1, nan) = nan
+pow(-1, inf) = 1
+pow(-1, -inf) = 1
+pow(-1, 0) = 1
+pow(-1, -0) = 1
+pow(-1, 0.5) = nan
+pow(-1, -0.5) = nan
+pow(-1, 1) = -1
+pow(-1, -1) = -1
+pow(-1, 2) = 1
+pow(-1, -2) = 1
+pow(2, nan) = nan
+pow(2, inf) = inf
+pow(2, -inf) = 0
+pow(2, 0) = 1
+pow(2, -0) = 1
+pow(2, 0.5) = 1.41421
+pow(2, -0.5) = 0.707106
+pow(2, 1) = 2
+pow(2, -1) = 0.5
+pow(2, 2) = 4
+pow(2, -2) = 0.25
+pow(-2, nan) = nan
+pow(-2, inf) = inf
+pow(-2, -inf) = 0
+pow(-2, 0) = 1
+pow(-2, -0) = 1
+pow(-2, 0.5) = nan
+pow(-2, -0.5) = nan
+pow(-2, 1) = -2
+pow(-2, -1) = -0.5
+pow(-2, 2) = 4
+pow(-2, -2) = 0.25
+
+Rounding to -oo
+(double) 0 = 0
+Signed zero tests (x is 0.0 and y is -0.0):
+  Test 1.0 / x != 1.0 / y  returns 1 (should be 1).
+  Test 1.0 / x == 1.0 / +x returns 1 (should be 1).
+  Test 1.0 / x != 1.0 / +y returns 1 (should be 1).
+  Test 1.0 / x != 1.0 / -x returns 1 (should be 1).
+  Test 1.0 / x == 1.0 / -y returns 1 (should be 1).
+0 + 0 = 0
+0 - 0 = -0
+0 + -0 = -0
+0 - -0 = 0
+-0 + 0 = -0
+-0 - 0 = -0
+-0 + -0 = -0
+-0 - -0 = -0
+1 + 1 = 2
+1 - 1 = -0
+1 + -1 = -0
+1 - -1 = 2
+0 * 0 = 0
+0 * -0 = -0
+-0 * 0 = -0
+-0 * -0 = 0
+Constant expression 1 + DBL_MIN = 1
+Variable expression 1 + DBL_MIN = 1
+Constant expression 1 - DBL_MIN = 1
+Variable expression 1 - DBL_MIN = 0.99999999999999988897
+1/3 in float       : 0x1.555554p-2
+1/3 in double      : 0x1.5555555555555p-2
+1/3 in long double : 0x1.5555555555555555555555555555p-2
+Dec 1.1  = 0x1.199999999999ap+0
+FLT_MAX  = 0x1.fffffep+127
+DBL_MAX  = 0x1.fffffffffffffp+1023
+LDBL_MAX = 0x1.ffffffffffffffffffffffffffffp+16383
+FLT_EPSILON  = 0x1p-23
+DBL_EPSILON  = 0x1p-52
+LDBL_EPSILON = 0x1p-112
+pow(nan, nan) = nan
+pow(nan, inf) = nan
+pow(nan, -inf) = nan
+pow(nan, 0) = 1
+pow(nan, -0) = 1
+pow(nan, 0.5) = nan
+pow(nan, -0.5) = nan
+pow(nan, 1) = nan
+pow(nan, -1) = nan
+pow(nan, 2) = nan
+pow(nan, -2) = nan
+pow(inf, nan) = nan
+pow(inf, inf) = inf
+pow(inf, -inf) = 0
+pow(inf, 0) = 1
+pow(inf, -0) = 1
+pow(inf, 0.5) = inf
+pow(inf, -0.5) = 0
+pow(inf, 1) = inf
+pow(inf, -1) = 0
+pow(inf, 2) = inf
+pow(inf, -2) = 0
+pow(-inf, nan) = nan
+pow(-inf, inf) = inf
+pow(-inf, -inf) = 0
+pow(-inf, 0) = 1
+pow(-inf, -0) = 1
+pow(-inf, 0.5) = inf
+pow(-inf, -0.5) = 0
+pow(-inf, 1) = -inf
+pow(-inf, -1) = -0
+pow(-inf, 2) = inf
+pow(-inf, -2) = 0
+pow(0, nan) = nan
+pow(0, inf) = 0
+pow(0, -inf) = inf
+pow(0, 0) = 1
+pow(0, -0) = 1
+pow(0, 0.5) = 0
+pow(0, -0.5) = inf
+pow(0, 1) = 0
+pow(0, -1) = inf
+pow(0, 2) = 0
+pow(0, -2) = inf
+pow(-0, nan) = nan
+pow(-0, inf) = 0
+pow(-0, -inf) = inf
+pow(-0, 0) = 1
+pow(-0, -0) = 1
+pow(-0, 0.5) = 0
+pow(-0, -0.5) = inf
+pow(-0, 1) = -0
+pow(-0, -1) = -inf
+pow(-0, 2) = 0
+pow(-0, -2) = inf
+pow(0.5, nan) = nan
+pow(0.5, inf) = 0
+pow(0.5, -inf) = inf
+pow(0.5, 0) = 1
+pow(0.5, -0) = 1
+pow(0.5, 0.5) = 0.707106
+pow(0.5, -0.5) = 1.41421
+pow(0.5, 1) = 0.5
+pow(0.5, -1) = 2
+pow(0.5, 2) = 0.25
+pow(0.5, -2) = 4
+pow(-0.5, nan) = nan
+pow(-0.5, inf) = 0
+pow(-0.5, -inf) = inf
+pow(-0.5, 0) = 1
+pow(-0.5, -0) = 1
+pow(-0.5, 0.5) = nan
+pow(-0.5, -0.5) = nan
+pow(-0.5, 1) = -0.5
+pow(-0.5, -1) = -2
+pow(-0.5, 2) = 0.25
+pow(-0.5, -2) = 4
+pow(1, nan) = 1
+pow(1, inf) = 1
+pow(1, -inf) = 1
+pow(1, 0) = 1
+pow(1, -0) = 1
+pow(1, 0.5) = 1
+pow(1, -0.5) = 1
+pow(1, 1) = 1
+pow(1, -1) = 1
+pow(1, 2) = 1
+pow(1, -2) = 1
+pow(-1, nan) = nan
+pow(-1, inf) = 1
+pow(-1, -inf) = 1
+pow(-1, 0) = 1
+pow(-1, -0) = 1
+pow(-1, 0.5) = nan
+pow(-1, -0.5) = nan
+pow(-1, 1) = -1
+pow(-1, -1) = -1
+pow(-1, 2) = 1
+pow(-1, -2) = 1
+pow(2, nan) = nan
+pow(2, inf) = inf
+pow(2, -inf) = 0
+pow(2, 0) = 1
+pow(2, -0) = 1
+pow(2, 0.5) = 1.41421
+pow(2, -0.5) = 0.707106
+pow(2, 1) = 2
+pow(2, -1) = 0.5
+pow(2, 2) = 4
+pow(2, -2) = 0.25
+pow(-2, nan) = nan
+pow(-2, inf) = inf
+pow(-2, -inf) = 0
+pow(-2, 0) = 1
+pow(-2, -0) = 1
+pow(-2, 0.5) = nan
+pow(-2, -0.5) = nan
+pow(-2, 1) = -2
+pow(-2, -1) = -0.5
+pow(-2, 2) = 4
+pow(-2, -2) = 0.25
+
+Rounding to +oo
+(double) 0 = 0
+Signed zero tests (x is 0.0 and y is -0.0):
+  Test 1.0 / x != 1.0 / y  returns 1 (should be 1).
+  Test 1.0 / x == 1.0 / +x returns 1 (should be 1).
+  Test 1.0 / x != 1.0 / +y returns 1 (should be 1).
+  Test 1.0 / x != 1.0 / -x returns 1 (should be 1).
+  Test 1.0 / x == 1.0 / -y returns 1 (should be 1).
+0 + 0 = 0
+0 - 0 = 0
+0 + -0 = 0
+0 - -0 = 0
+-0 + 0 = 0
+-0 - 0 = -0
+-0 + -0 = -0
+-0 - -0 = 0
+1 + 1 = 2
+1 - 1 = 0
+1 + -1 = 0
+1 - -1 = 2
+0 * 0 = 0
+0 * -0 = -0
+-0 * 0 = -0
+-0 * -0 = 0
+Constant expression 1 + DBL_MIN = 1
+Variable expression 1 + DBL_MIN = 1.0000000000000002221
+Constant expression 1 - DBL_MIN = 1
+Variable expression 1 - DBL_MIN = 1
+1/3 in float       : 0x1.555556p-2
+1/3 in double      : 0x1.5555555555556p-2
+1/3 in long double : 0x1.5555555555555555555555555556p-2
+Dec 1.1  = 0x1.199999999999ap+0
+FLT_MAX  = 0x1.fffffep+127
+DBL_MAX  = 0x1.fffffffffffffp+1023
+LDBL_MAX = 0x1.ffffffffffffffffffffffffffffp+16383
+FLT_EPSILON  = 0x1p-23
+DBL_EPSILON  = 0x1p-52
+LDBL_EPSILON = 0x1p-112
+pow(nan, nan) = nan
+pow(nan, inf) = nan
+pow(nan, -inf) = nan
+pow(nan, 0) = 1
+pow(nan, -0) = 1
+pow(nan, 0.5) = nan
+pow(nan, -0.5) = nan
+pow(nan, 1) = nan
+pow(nan, -1) = nan
+pow(nan, 2) = nan
+pow(nan, -2) = nan
+pow(inf, nan) = nan
+pow(inf, inf) = inf
+pow(inf, -inf) = 0
+pow(inf, 0) = 1
+pow(inf, -0) = 1
+pow(inf, 0.5) = inf
+pow(inf, -0.5) = 0
+pow(inf, 1) = inf
+pow(inf, -1) = 0
+pow(inf, 2) = inf
+pow(inf, -2) = 0
+pow(-inf, nan) = nan
+pow(-inf, inf) = inf
+pow(-inf, -inf) = 0
+pow(-inf, 0) = 1
+pow(-inf, -0) = 1
+pow(-inf, 0.5) = inf
+pow(-inf, -0.5) = 0
+pow(-inf, 1) = -inf
+pow(-inf, -1) = -0
+pow(-inf, 2) = inf
+pow(-inf, -2) = 0
+pow(0, nan) = nan
+pow(0, inf) = 0
+pow(0, -inf) = inf
+pow(0, 0) = 1
+pow(0, -0) = 1
+pow(0, 0.5) = 0
+pow(0, -0.5) = inf
+pow(0, 1) = 0
+pow(0, -1) = inf
+pow(0, 2) = 0
+pow(0, -2) = inf
+pow(-0, nan) = nan
+pow(-0, inf) = 0
+pow(-0, -inf) = inf
+pow(-0, 0) = 1
+pow(-0, -0) = 1
+pow(-0, 0.5) = 0
+pow(-0, -0.5) = inf
+pow(-0, 1) = -0
+pow(-0, -1) = -inf
+pow(-0, 2) = 0
+pow(-0, -2) = inf
+pow(0.5, nan) = nan
+pow(0.5, inf) = 0
+pow(0.5, -inf) = inf
+pow(0.5, 0) = 1
+pow(0.5, -0) = 1
+pow(0.5, 0.5) = 0.707107
+pow(0.5, -0.5) = 1.41422
+pow(0.5, 1) = 0.5
+pow(0.5, -1) = 2
+pow(0.5, 2) = 0.25
+pow(0.5, -2) = 4
+pow(-0.5, nan) = nan
+pow(-0.5, inf) = 0
+pow(-0.5, -inf) = inf
+pow(-0.5, 0) = 1
+pow(-0.5, -0) = 1
+pow(-0.5, 0.5) = nan
+pow(-0.5, -0.5) = nan
+pow(-0.5, 1) = -0.5
+pow(-0.5, -1) = -2
+pow(-0.5, 2) = 0.25
+pow(-0.5, -2) = 4
+pow(1, nan) = 1
+pow(1, inf) = 1
+pow(1, -inf) = 1
+pow(1, 0) = 1
+pow(1, -0) = 1
+pow(1, 0.5) = 1
+pow(1, -0.5) = 1
+pow(1, 1) = 1
+pow(1, -1) = 1
+pow(1, 2) = 1
+pow(1, -2) = 1
+pow(-1, nan) = nan
+pow(-1, inf) = 1
+pow(-1, -inf) = 1
+pow(-1, 0) = 1
+pow(-1, -0) = 1
+pow(-1, 0.5) = nan
+pow(-1, -0.5) = nan
+pow(-1, 1) = -1
+pow(-1, -1) = -1
+pow(-1, 2) = 1
+pow(-1, -2) = 1
+pow(2, nan) = nan
+pow(2, inf) = inf
+pow(2, -inf) = 0
+pow(2, 0) = 1
+pow(2, -0) = 1
+pow(2, 0.5) = 1.41422
+pow(2, -0.5) = 0.707107
+pow(2, 1) = 2
+pow(2, -1) = 0.5
+pow(2, 2) = 4
+pow(2, -2) = 0.25
+pow(-2, nan) = nan
+pow(-2, inf) = inf
+pow(-2, -inf) = 0
+pow(-2, 0) = 1
+pow(-2, -0) = 1
+pow(-2, 0.5) = nan
+pow(-2, -0.5) = nan
+pow(-2, 1) = -2
+pow(-2, -1) = -0.5
+pow(-2, 2) = 4
+pow(-2, -2) = 0.25
+}
+
 set reference_output_x86_32 {
 FLT_RADIX = 2
 FLT_MANT_DIG = 24
@@ -2160,6 +2851,9 @@ pow(-2, -2) = 0.25
 if {[have_spec arm]} {
 	set reference_output $reference_output_arm
 }
+if {[have_spec arm_64]} {
+	set reference_output $reference_output_arm_64
+}
 if {[have_spec x86_64]} {
 	set reference_output $reference_output_x86_64
 }