Linear.V3:$cdot from linear-1.19.1.3, B

Time bar (total: 2.6s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated; 0ms collecting garbage

analyze0.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated; 0ms collecting garbage
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.7%0.3%0%0%0%0
100%99.7%0%0.3%0%0%0%1
Compiler

Compiled 13 to 13 computations (0% saved)

sample1.2s (45.2%)

Memory
51.1MiB live, 1 030.3MiB allocated; 282ms collecting garbage
Samples
820.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 338.0ms
ival-mult: 230.0ms (68.1% of total)
ival-add: 103.0ms (30.5% of total)
ival-assert: 3.0ms (0.9% of total)
adjust: 2.0ms (0.6% of total)
Bogosity

explain120.0ms (4.7%)

Memory
-26.5MiB live, 206.3MiB allocated; 28ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
30-0-(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
10-0-(+.f64 (*.f64 x y) (*.f64 z t))
00-0-a
00-0-t
00-0-(*.f64 z t)
00-0-z
00-0-(*.f64 x y)
00-0-y
00-0-b
00-0-(*.f64 a b)
00-0-x
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
+.f64(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))nan-rescue30
(*.f64 x y)overflow36
(+.f64 (*.f64 x y) (*.f64 z t))overflow68
(*.f64 z t)overflow36
(*.f64 a b)overflow32
+.f64(+.f64 (*.f64 x y) (*.f64 z t))nan-rescue10
(*.f64 x y)overflow36
(*.f64 z t)overflow36
Confusion
Predicted +Predicted -
+40
-0252
Precision
1.0
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+400
-00252
Precision?
1.0
Recall?
1.0
Freqs
test
numberfreq
0252
14
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
60.0ms512×0valid
Compiler

Compiled 81 to 37 computations (54.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 40.0ms
ival-mult: 30.0ms (75.4% of total)
ival-add: 9.0ms (22.6% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess46.0ms (1.8%)

Memory
18.4MiB live, 79.5MiB allocated; 24ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
089318
1260312
2649310
31161308
41319308
51411308
61454308
01111
01611
12911
26711
313411
420911
522011
623411
723511
02359
Stop Event
iter limit
saturated
iter limit
saturated
Calls
Call 1
Inputs
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
Outputs
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
(fma.f64 b a (fma.f64 t z (*.f64 y x)))
Symmetry

(sort x y)

(sort z t)

(sort a b)

Compiler

Compiled 11 to 11 computations (0% saved)

eval0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated; 0ms collecting garbage
Compiler

Compiled 0 to 6 computations (-∞% saved)

prune0.0ms (0%)

Memory
1.2MiB live, 1.2MiB allocated; 0ms collecting garbage
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.4%
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
Compiler

Compiled 11 to 11 computations (0% saved)

series16.0ms (0.6%)

Memory
-13.3MiB live, 33.7MiB allocated; 2ms collecting garbage
Counts
11 → 39
Calls
Call 1
Inputs
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
(+.f64 (*.f64 x y) (*.f64 z t))
(*.f64 x y)
x
y
(*.f64 z t)
z
t
(*.f64 a b)
a
b
Outputs
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (+ (* a b) (* t z))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (+ (* a b) (+ (* t z) (* x y)))))
#s(approx (+ (* x y) (* z t)) #s(hole binary64 (* t z)))
#s(approx (+ (* x y) (* z t)) #s(hole binary64 (+ (* t z) (* x y))))
#s(approx (* x y) #s(hole binary64 (* x y)))
#s(approx x #s(hole binary64 x))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (* x y)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (* x (+ y (+ (/ (* a b) x) (/ (* t z) x))))))
#s(approx (+ (* x y) (* z t)) #s(hole binary64 (* x y)))
#s(approx (+ (* x y) (* z t)) #s(hole binary64 (* x (+ y (/ (* t z) x)))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1 (/ (+ (* a b) (* t z)) x)))))))
#s(approx (+ (* x y) (* z t)) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1 (/ (* t z) x)))))))
#s(approx y #s(hole binary64 y))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (* y (+ x (+ (/ (* a b) y) (/ (* t z) y))))))
#s(approx (+ (* x y) (* z t)) #s(hole binary64 (* y (+ x (/ (* t z) y)))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ (+ (* a b) (* t z)) y)))))))
#s(approx (+ (* x y) (* z t)) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ (* t z) y)))))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (+ (* a b) (* x y))))
#s(approx (* z t) #s(hole binary64 (* t z)))
#s(approx z #s(hole binary64 z))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (* t z)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (* z (+ t (+ (/ (* a b) z) (/ (* x y) z))))))
#s(approx (+ (* x y) (* z t)) #s(hole binary64 (* z (+ t (/ (* x y) z)))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (* -1 (* z (+ (* -1 t) (* -1 (/ (+ (* a b) (* x y)) z)))))))
#s(approx (+ (* x y) (* z t)) #s(hole binary64 (* -1 (* z (+ (* -1 t) (* -1 (/ (* x y) z)))))))
#s(approx t #s(hole binary64 t))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (* t (+ z (+ (/ (* a b) t) (/ (* x y) t))))))
#s(approx (+ (* x y) (* z t)) #s(hole binary64 (* t (+ z (/ (* x y) t)))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (* -1 (* t (+ (* -1 z) (* -1 (/ (+ (* a b) (* x y)) t)))))))
#s(approx (+ (* x y) (* z t)) #s(hole binary64 (* -1 (* t (+ (* -1 z) (* -1 (/ (* x y) t)))))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (+ (* t z) (* x y))))
#s(approx (* a b) #s(hole binary64 (* a b)))
#s(approx a #s(hole binary64 a))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (* a b)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (* a (+ b (+ (/ (* t z) a) (/ (* x y) a))))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (* -1 (* a (+ (* -1 b) (* -1 (/ (+ (* t z) (* x y)) a)))))))
#s(approx b #s(hole binary64 b))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (* b (+ a (+ (/ (* t z) b) (/ (* x y) b))))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (* -1 (* b (+ (* -1 a) (* -1 (/ (+ (* t z) (* x y)) b)))))))
Calls

18 calls:

TimeVariablePointExpression
3.0ms
y
@-inf
((+ (+ (* x y) (* z t)) (* a b)) (+ (* x y) (* z t)) (* x y) x y (* z t) z t (* a b) a b)
1.0ms
x
@-inf
((+ (+ (* x y) (* z t)) (* a b)) (+ (* x y) (* z t)) (* x y) x y (* z t) z t (* a b) a b)
1.0ms
z
@inf
((+ (+ (* x y) (* z t)) (* a b)) (+ (* x y) (* z t)) (* x y) x y (* z t) z t (* a b) a b)
1.0ms
z
@-inf
((+ (+ (* x y) (* z t)) (* a b)) (+ (* x y) (* z t)) (* x y) x y (* z t) z t (* a b) a b)
1.0ms
x
@0
((+ (+ (* x y) (* z t)) (* a b)) (+ (* x y) (* z t)) (* x y) x y (* z t) z t (* a b) a b)

rewrite162.0ms (6.3%)

Memory
10.3MiB live, 241.5MiB allocated; 20ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0151742
0159700
1924690
08496612
Stop Event
iter limit
node limit
iter limit
Counts
50 → 117
Calls
Call 1
Inputs
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
(+.f64 (*.f64 x y) (*.f64 z t))
(*.f64 x y)
x
y
(*.f64 z t)
z
t
(*.f64 a b)
a
b
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (+ (* a b) (* t z))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (+ (* a b) (+ (* t z) (* x y)))))
#s(approx (+ (* x y) (* z t)) #s(hole binary64 (* t z)))
#s(approx (+ (* x y) (* z t)) #s(hole binary64 (+ (* t z) (* x y))))
#s(approx (* x y) #s(hole binary64 (* x y)))
#s(approx x #s(hole binary64 x))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (* x y)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (* x (+ y (+ (/ (* a b) x) (/ (* t z) x))))))
#s(approx (+ (* x y) (* z t)) #s(hole binary64 (* x y)))
#s(approx (+ (* x y) (* z t)) #s(hole binary64 (* x (+ y (/ (* t z) x)))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1 (/ (+ (* a b) (* t z)) x)))))))
#s(approx (+ (* x y) (* z t)) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1 (/ (* t z) x)))))))
#s(approx y #s(hole binary64 y))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (* y (+ x (+ (/ (* a b) y) (/ (* t z) y))))))
#s(approx (+ (* x y) (* z t)) #s(hole binary64 (* y (+ x (/ (* t z) y)))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ (+ (* a b) (* t z)) y)))))))
#s(approx (+ (* x y) (* z t)) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ (* t z) y)))))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (+ (* a b) (* x y))))
#s(approx (* z t) #s(hole binary64 (* t z)))
#s(approx z #s(hole binary64 z))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (* t z)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (* z (+ t (+ (/ (* a b) z) (/ (* x y) z))))))
#s(approx (+ (* x y) (* z t)) #s(hole binary64 (* z (+ t (/ (* x y) z)))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (* -1 (* z (+ (* -1 t) (* -1 (/ (+ (* a b) (* x y)) z)))))))
#s(approx (+ (* x y) (* z t)) #s(hole binary64 (* -1 (* z (+ (* -1 t) (* -1 (/ (* x y) z)))))))
#s(approx t #s(hole binary64 t))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (* t (+ z (+ (/ (* a b) t) (/ (* x y) t))))))
#s(approx (+ (* x y) (* z t)) #s(hole binary64 (* t (+ z (/ (* x y) t)))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (* -1 (* t (+ (* -1 z) (* -1 (/ (+ (* a b) (* x y)) t)))))))
#s(approx (+ (* x y) (* z t)) #s(hole binary64 (* -1 (* t (+ (* -1 z) (* -1 (/ (* x y) t)))))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (+ (* t z) (* x y))))
#s(approx (* a b) #s(hole binary64 (* a b)))
#s(approx a #s(hole binary64 a))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (* a b)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (* a (+ b (+ (/ (* t z) a) (/ (* x y) a))))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (* -1 (* a (+ (* -1 b) (* -1 (/ (+ (* t z) (* x y)) a)))))))
#s(approx b #s(hole binary64 b))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (* b (+ a (+ (/ (* t z) b) (/ (* x y) b))))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (* -1 (* b (+ (* -1 a) (* -1 (/ (+ (* t z) (* x y)) b)))))))
Outputs
(/.f64 (-.f64 (*.f64 (fma.f64 b a (*.f64 t z)) (fma.f64 b a (*.f64 t z))) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (-.f64 (fma.f64 b a (*.f64 t z)) (*.f64 y x)))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 (fma.f64 b a (*.f64 t z)) (fma.f64 b a (*.f64 t z)))) (-.f64 (*.f64 y x) (fma.f64 b a (*.f64 t z))))
(/.f64 (-.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 a) b) #s(literal 3 binary64))) (+.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (*.f64 (fma.f64 t z (*.f64 y x)) (*.f64 (neg.f64 a) b)))))
(/.f64 (+.f64 (pow.f64 (fma.f64 b a (*.f64 t z)) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (fma.f64 (fma.f64 b a (*.f64 t z)) (fma.f64 b a (*.f64 t z)) (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 (fma.f64 b a (*.f64 t z)) (*.f64 y x)))))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (pow.f64 (fma.f64 b a (*.f64 t z)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (-.f64 (*.f64 (fma.f64 b a (*.f64 t z)) (fma.f64 b a (*.f64 t z))) (*.f64 (*.f64 y x) (fma.f64 b a (*.f64 t z))))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64)) (pow.f64 (*.f64 b a) #s(literal 2 binary64)))) (neg.f64 (-.f64 (fma.f64 t z (*.f64 y x)) (*.f64 b a))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64)))) (neg.f64 (-.f64 (*.f64 b a) (fma.f64 t z (*.f64 y x)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 3 binary64)) (pow.f64 (*.f64 b a) #s(literal 3 binary64)))) (neg.f64 (+.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64)) (*.f64 (*.f64 b a) (-.f64 (*.f64 b a) (fma.f64 t z (*.f64 y x)))))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 b a) #s(literal 3 binary64)) (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 3 binary64)))) (neg.f64 (+.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (*.f64 (fma.f64 t z (*.f64 y x)) (-.f64 (fma.f64 t z (*.f64 y x)) (*.f64 b a))))))
(/.f64 (-.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64)) (pow.f64 (*.f64 b a) #s(literal 2 binary64))) (-.f64 (fma.f64 t z (*.f64 y x)) (*.f64 b a)))
(/.f64 (-.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64))) (-.f64 (*.f64 b a) (fma.f64 t z (*.f64 y x))))
(/.f64 (+.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 3 binary64)) (pow.f64 (*.f64 b a) #s(literal 3 binary64))) (+.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64)) (*.f64 (*.f64 b a) (-.f64 (*.f64 b a) (fma.f64 t z (*.f64 y x))))))
(/.f64 (+.f64 (pow.f64 (*.f64 b a) #s(literal 3 binary64)) (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (*.f64 (fma.f64 t z (*.f64 y x)) (-.f64 (fma.f64 t z (*.f64 y x)) (*.f64 b a)))))
(fma.f64 b a (fma.f64 t z (*.f64 y x)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 b a (*.f64 y x)))
(fma.f64 z t (fma.f64 b a (*.f64 y x)))
(fma.f64 y x (fma.f64 b a (*.f64 t z)))
(fma.f64 x y (fma.f64 b a (*.f64 t z)))
(-.f64 (/.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64)) (-.f64 (fma.f64 t z (*.f64 y x)) (*.f64 b a))) (/.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (-.f64 (fma.f64 t z (*.f64 y x)) (*.f64 b a))))
(-.f64 (/.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (-.f64 (*.f64 b a) (fma.f64 t z (*.f64 y x)))) (/.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64)) (-.f64 (*.f64 b a) (fma.f64 t z (*.f64 y x)))))
(-.f64 (fma.f64 b a (*.f64 y x)) (*.f64 (neg.f64 z) t))
(-.f64 (fma.f64 b a (*.f64 t z)) (*.f64 (neg.f64 x) y))
(-.f64 (*.f64 t z) (-.f64 (*.f64 (neg.f64 x) y) (*.f64 b a)))
(-.f64 (*.f64 t z) (neg.f64 (fma.f64 b a (*.f64 y x))))
(-.f64 (*.f64 b a) (-.f64 (*.f64 (neg.f64 z) t) (*.f64 y x)))
(-.f64 (fma.f64 t z (*.f64 y x)) (*.f64 (neg.f64 a) b))
(-.f64 (*.f64 y x) (-.f64 (*.f64 (neg.f64 z) t) (*.f64 b a)))
(-.f64 (*.f64 y x) (neg.f64 (fma.f64 b a (*.f64 t z))))
(+.f64 (/.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 3 binary64)) (+.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64)) (*.f64 (*.f64 b a) (-.f64 (*.f64 b a) (fma.f64 t z (*.f64 y x)))))) (/.f64 (pow.f64 (*.f64 b a) #s(literal 3 binary64)) (+.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64)) (*.f64 (*.f64 b a) (-.f64 (*.f64 b a) (fma.f64 t z (*.f64 y x)))))))
(+.f64 (/.f64 (pow.f64 (*.f64 b a) #s(literal 3 binary64)) (+.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (*.f64 (fma.f64 t z (*.f64 y x)) (-.f64 (fma.f64 t z (*.f64 y x)) (*.f64 b a))))) (/.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 3 binary64)) (+.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (*.f64 (fma.f64 t z (*.f64 y x)) (-.f64 (fma.f64 t z (*.f64 y x)) (*.f64 b a))))))
(+.f64 (fma.f64 b a (*.f64 y x)) (*.f64 t z))
(+.f64 (fma.f64 b a (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 t z) (fma.f64 b a (*.f64 y x)))
(+.f64 (*.f64 b a) (fma.f64 t z (*.f64 y x)))
(+.f64 (fma.f64 t z (*.f64 y x)) (*.f64 (neg.f64 (neg.f64 a)) b))
(+.f64 (fma.f64 t z (*.f64 y x)) (*.f64 b a))
(+.f64 (*.f64 y x) (fma.f64 b a (*.f64 t z)))
(/.f64 (-.f64 (pow.f64 (*.f64 t z) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 x) y) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 (*.f64 t z) (*.f64 (neg.f64 x) y)))))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 z) t) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (*.f64 (*.f64 y x) (*.f64 (neg.f64 z) t)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (pow.f64 (*.f64 t z) #s(literal 2 binary64)))) (neg.f64 (fma.f64 y x (*.f64 (neg.f64 z) t))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))) (neg.f64 (fma.f64 t z (*.f64 (neg.f64 x) y))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (pow.f64 (*.f64 t z) #s(literal 3 binary64)))) (neg.f64 (+.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 (*.f64 t z) (fma.f64 t z (*.f64 (neg.f64 x) y))))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 t z) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64)))) (neg.f64 (+.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (*.f64 (*.f64 y x) (fma.f64 y x (*.f64 (neg.f64 z) t))))))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (pow.f64 (*.f64 t z) #s(literal 2 binary64))) (fma.f64 y x (*.f64 (neg.f64 z) t)))
(/.f64 (-.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (fma.f64 t z (*.f64 (neg.f64 x) y)))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (pow.f64 (*.f64 t z) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 (*.f64 t z) (fma.f64 t z (*.f64 (neg.f64 x) y)))))
(/.f64 (+.f64 (pow.f64 (*.f64 t z) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (*.f64 (*.f64 y x) (fma.f64 y x (*.f64 (neg.f64 z) t)))))
(fma.f64 t z (*.f64 (neg.f64 (neg.f64 x)) y))
(fma.f64 t z (*.f64 y x))
(fma.f64 z t (*.f64 (neg.f64 (neg.f64 x)) y))
(fma.f64 z t (*.f64 y x))
(fma.f64 y x (*.f64 (neg.f64 (neg.f64 z)) t))
(fma.f64 y x (*.f64 t z))
(fma.f64 x y (*.f64 (neg.f64 (neg.f64 z)) t))
(fma.f64 x y (*.f64 t z))
(-.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (fma.f64 y x (*.f64 (neg.f64 z) t))) (/.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (fma.f64 y x (*.f64 (neg.f64 z) t))))
(-.f64 (/.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (fma.f64 t z (*.f64 (neg.f64 x) y))) (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (fma.f64 t z (*.f64 (neg.f64 x) y))))
(-.f64 (*.f64 t z) (*.f64 (neg.f64 x) y))
(-.f64 (*.f64 y x) (*.f64 (neg.f64 z) t))
(+.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (+.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 (*.f64 t z) (fma.f64 t z (*.f64 (neg.f64 x) y))))) (/.f64 (pow.f64 (*.f64 t z) #s(literal 3 binary64)) (+.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 (*.f64 t z) (fma.f64 t z (*.f64 (neg.f64 x) y))))))
(+.f64 (/.f64 (pow.f64 (*.f64 t z) #s(literal 3 binary64)) (+.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (*.f64 (*.f64 y x) (fma.f64 y x (*.f64 (neg.f64 z) t))))) (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (+.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (*.f64 (*.f64 y x) (fma.f64 y x (*.f64 (neg.f64 z) t))))))
(+.f64 (*.f64 t z) (*.f64 (neg.f64 (neg.f64 x)) y))
(+.f64 (*.f64 t z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 (neg.f64 (neg.f64 z)) t))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(*.f64 x y)
x
y
(*.f64 t z)
(*.f64 z t)
z
t
(*.f64 b a)
(*.f64 a b)
a
b
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 t z)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (fma.f64 t z (*.f64 y x))))
#s(approx (+ (* x y) (* z t)) (*.f64 t z))
#s(approx (+ (* x y) (* z t)) (fma.f64 t z (*.f64 y x)))
#s(approx (* x y) (*.f64 y x))
#s(approx x x)
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 y x))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 (+.f64 (/.f64 (fma.f64 b a (*.f64 t z)) x) y) x))
#s(approx (+ (* x y) (* z t)) (*.f64 y x))
#s(approx (+ (* x y) (* z t)) (*.f64 (fma.f64 t (/.f64 z x) y) x))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 (neg.f64 x) (neg.f64 (+.f64 (/.f64 (fma.f64 b a (*.f64 t z)) x) y))))
#s(approx (+ (* x y) (* z t)) (*.f64 (neg.f64 x) (neg.f64 (fma.f64 t (/.f64 z x) y))))
#s(approx y y)
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 (+.f64 (/.f64 (fma.f64 b a (*.f64 t z)) y) x) y))
#s(approx (+ (* x y) (* z t)) (*.f64 (fma.f64 t (/.f64 z y) x) y))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 (neg.f64 (+.f64 (/.f64 (fma.f64 b a (*.f64 t z)) y) x)) (neg.f64 y)))
#s(approx (+ (* x y) (* z t)) (*.f64 (neg.f64 (fma.f64 t (/.f64 z y) x)) (neg.f64 y)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 y x)))
#s(approx (* z t) (*.f64 t z))
#s(approx z z)
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 t z))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 (+.f64 (/.f64 (fma.f64 b a (*.f64 y x)) z) t) z))
#s(approx (+ (* x y) (* z t)) (*.f64 (fma.f64 x (/.f64 y z) t) z))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 (neg.f64 z) (neg.f64 (+.f64 (/.f64 (fma.f64 b a (*.f64 y x)) z) t))))
#s(approx (+ (* x y) (* z t)) (*.f64 (neg.f64 z) (neg.f64 (fma.f64 x (/.f64 y z) t))))
#s(approx t t)
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 (+.f64 (/.f64 (fma.f64 b a (*.f64 y x)) t) z) t))
#s(approx (+ (* x y) (* z t)) (*.f64 (fma.f64 x (/.f64 y t) z) t))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 (neg.f64 (+.f64 (/.f64 (fma.f64 b a (*.f64 y x)) t) z)) (neg.f64 t)))
#s(approx (+ (* x y) (* z t)) (*.f64 (neg.f64 (fma.f64 x (/.f64 y t) z)) (neg.f64 t)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 t z (*.f64 y x)))
#s(approx (* a b) (*.f64 b a))
#s(approx a a)
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 b a))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 (+.f64 (/.f64 (fma.f64 t z (*.f64 y x)) a) b) a))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 (neg.f64 a) (neg.f64 (+.f64 (/.f64 (fma.f64 t z (*.f64 y x)) a) b))))
#s(approx b b)
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 (+.f64 (/.f64 (fma.f64 t z (*.f64 y x)) b) a) b))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 (neg.f64 (+.f64 (/.f64 (fma.f64 t z (*.f64 y x)) b) a)) (neg.f64 b)))

eval13.0ms (0.5%)

Memory
-16.3MiB live, 30.2MiB allocated; 2ms collecting garbage
Compiler

Compiled 2 385 to 352 computations (85.2% saved)

prune5.0ms (0.2%)

Memory
14.8MiB live, 14.8MiB allocated; 0ms collecting garbage
Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New1107117
Fresh000
Picked101
Done000
Total1117118
Accuracy
100.0%
Counts
118 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.8%
(fma.f64 y x (fma.f64 b a (*.f64 t z)))
68.0%
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 t z (*.f64 y x)))
68.8%
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 y x)))
66.8%
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 t z)))
37.0%
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 y x))
35.3%
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 t z))
34.5%
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 b a))
Compiler

Compiled 216 to 180 computations (16.7% saved)

series16.0ms (0.6%)

Memory
-21.7MiB live, 34.3MiB allocated; 4ms collecting garbage
Counts
15 → 58
Calls
Call 1
Inputs
(fma.f64 y x (fma.f64 b a (*.f64 t z)))
y
x
(fma.f64 b a (*.f64 t z))
b
a
(*.f64 t z)
t
z
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 b a))
(*.f64 b a)
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 t z))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 y x))
(*.f64 y x)
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 t z)))
Outputs
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (+ (* a b) (* t z))))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (+ (* a b) (+ (* t z) (* x y)))))
#s(approx x #s(hole binary64 x))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (+ (* a b) (* t z))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (+ (* a b) (+ (* t z) (* x y)))))
#s(approx (* y x) #s(hole binary64 (* x y)))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (* x y)))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (* x (+ y (+ (/ (* a b) x) (/ (* t z) x))))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (* x y)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (* x (+ y (+ (/ (* a b) x) (/ (* t z) x))))))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1 (/ (+ (* a b) (* t z)) x)))))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1 (/ (+ (* a b) (* t z)) x)))))))
#s(approx y #s(hole binary64 y))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (* y (+ x (+ (/ (* a b) y) (/ (* t z) y))))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (* y (+ x (+ (/ (* a b) y) (/ (* t z) y))))))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ (+ (* a b) (* t z)) y)))))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ (+ (* a b) (* t z)) y)))))))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (+ (* a b) (* x y))))
#s(approx (+ (* b a) (* t z)) #s(hole binary64 (* a b)))
#s(approx (+ (* b a) (* t z)) #s(hole binary64 (+ (* a b) (* t z))))
#s(approx (* t z) #s(hole binary64 (* t z)))
#s(approx z #s(hole binary64 z))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (+ (* a b) (* x y))))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (* t z)))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (* z (+ t (+ (/ (* a b) z) (/ (* x y) z))))))
#s(approx (+ (* b a) (* t z)) #s(hole binary64 (* t z)))
#s(approx (+ (* b a) (* t z)) #s(hole binary64 (* z (+ t (/ (* a b) z)))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (* t z)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (* z (+ t (+ (/ (* a b) z) (/ (* x y) z))))))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (* -1 (* z (+ (* -1 t) (* -1 (/ (+ (* a b) (* x y)) z)))))))
#s(approx (+ (* b a) (* t z)) #s(hole binary64 (* -1 (* z (+ (* -1 t) (* -1 (/ (* a b) z)))))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (* -1 (* z (+ (* -1 t) (* -1 (/ (+ (* a b) (* x y)) z)))))))
#s(approx t #s(hole binary64 t))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (* t (+ z (+ (/ (* a b) t) (/ (* x y) t))))))
#s(approx (+ (* b a) (* t z)) #s(hole binary64 (* t (+ z (/ (* a b) t)))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (* t (+ z (+ (/ (* a b) t) (/ (* x y) t))))))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (* -1 (* t (+ (* -1 z) (* -1 (/ (+ (* a b) (* x y)) t)))))))
#s(approx (+ (* b a) (* t z)) #s(hole binary64 (* -1 (* t (+ (* -1 z) (* -1 (/ (* a b) t)))))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (* -1 (* t (+ (* -1 z) (* -1 (/ (+ (* a b) (* x y)) t)))))))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (+ (* t z) (* x y))))
#s(approx a #s(hole binary64 a))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (+ (* t z) (* x y))))
#s(approx (* b a) #s(hole binary64 (* a b)))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (* a b)))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (* a (+ b (+ (/ (* t z) a) (/ (* x y) a))))))
#s(approx (+ (* b a) (* t z)) #s(hole binary64 (* a (+ b (/ (* t z) a)))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (* a b)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (* a (+ b (+ (/ (* t z) a) (/ (* x y) a))))))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (* -1 (* a (+ (* -1 b) (* -1 (/ (+ (* t z) (* x y)) a)))))))
#s(approx (+ (* b a) (* t z)) #s(hole binary64 (* -1 (* a (+ (* -1 b) (* -1 (/ (* t z) a)))))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (* -1 (* a (+ (* -1 b) (* -1 (/ (+ (* t z) (* x y)) a)))))))
#s(approx b #s(hole binary64 b))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (* b (+ a (+ (/ (* t z) b) (/ (* x y) b))))))
#s(approx (+ (* b a) (* t z)) #s(hole binary64 (* b (+ a (/ (* t z) b)))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (* b (+ a (+ (/ (* t z) b) (/ (* x y) b))))))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (* -1 (* b (+ (* -1 a) (* -1 (/ (+ (* t z) (* x y)) b)))))))
#s(approx (+ (* b a) (* t z)) #s(hole binary64 (* -1 (* b (+ (* -1 a) (* -1 (/ (* t z) b)))))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (* -1 (* b (+ (* -1 a) (* -1 (/ (+ (* t z) (* x y)) b)))))))
Calls

18 calls:

TimeVariablePointExpression
3.0ms
a
@-inf
((+ (* y x) (+ (* b a) (* t z))) y x (+ (* b a) (* t z)) b a (* t z) t z (+ (+ (* x y) (* z t)) (* a b)) (* b a) (+ (+ (* x y) (* z t)) (* a b)) (+ (+ (* x y) (* z t)) (* a b)) (* y x) (+ (+ (* x y) (* z t)) (* a b)))
2.0ms
a
@inf
((+ (* y x) (+ (* b a) (* t z))) y x (+ (* b a) (* t z)) b a (* t z) t z (+ (+ (* x y) (* z t)) (* a b)) (* b a) (+ (+ (* x y) (* z t)) (* a b)) (+ (+ (* x y) (* z t)) (* a b)) (* y x) (+ (+ (* x y) (* z t)) (* a b)))
1.0ms
b
@-inf
((+ (* y x) (+ (* b a) (* t z))) y x (+ (* b a) (* t z)) b a (* t z) t z (+ (+ (* x y) (* z t)) (* a b)) (* b a) (+ (+ (* x y) (* z t)) (* a b)) (+ (+ (* x y) (* z t)) (* a b)) (* y x) (+ (+ (* x y) (* z t)) (* a b)))
1.0ms
t
@-inf
((+ (* y x) (+ (* b a) (* t z))) y x (+ (* b a) (* t z)) b a (* t z) t z (+ (+ (* x y) (* z t)) (* a b)) (* b a) (+ (+ (* x y) (* z t)) (* a b)) (+ (+ (* x y) (* z t)) (* a b)) (* y x) (+ (+ (* x y) (* z t)) (* a b)))
1.0ms
z
@-inf
((+ (* y x) (+ (* b a) (* t z))) y x (+ (* b a) (* t z)) b a (* t z) t z (+ (+ (* x y) (* z t)) (* a b)) (* b a) (+ (+ (* x y) (* z t)) (* a b)) (+ (+ (* x y) (* z t)) (* a b)) (* y x) (+ (+ (* x y) (* z t)) (* a b)))

rewrite161.0ms (6.3%)

Memory
30.9MiB live, 259.3MiB allocated; 29ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01781226
01841093
19821077
083221049
Stop Event
iter limit
node limit
iter limit
Counts
73 → 139
Calls
Call 1
Inputs
(fma.f64 y x (fma.f64 b a (*.f64 t z)))
y
x
(fma.f64 b a (*.f64 t z))
b
a
(*.f64 t z)
t
z
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 b a))
(*.f64 b a)
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 t z))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 y x))
(*.f64 y x)
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 t z)))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (+ (* a b) (* t z))))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (+ (* a b) (+ (* t z) (* x y)))))
#s(approx x #s(hole binary64 x))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (+ (* a b) (* t z))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (+ (* a b) (+ (* t z) (* x y)))))
#s(approx (* y x) #s(hole binary64 (* x y)))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (* x y)))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (* x (+ y (+ (/ (* a b) x) (/ (* t z) x))))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (* x y)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (* x (+ y (+ (/ (* a b) x) (/ (* t z) x))))))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1 (/ (+ (* a b) (* t z)) x)))))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1 (/ (+ (* a b) (* t z)) x)))))))
#s(approx y #s(hole binary64 y))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (* y (+ x (+ (/ (* a b) y) (/ (* t z) y))))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (* y (+ x (+ (/ (* a b) y) (/ (* t z) y))))))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ (+ (* a b) (* t z)) y)))))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ (+ (* a b) (* t z)) y)))))))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (+ (* a b) (* x y))))
#s(approx (+ (* b a) (* t z)) #s(hole binary64 (* a b)))
#s(approx (+ (* b a) (* t z)) #s(hole binary64 (+ (* a b) (* t z))))
#s(approx (* t z) #s(hole binary64 (* t z)))
#s(approx z #s(hole binary64 z))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (+ (* a b) (* x y))))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (* t z)))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (* z (+ t (+ (/ (* a b) z) (/ (* x y) z))))))
#s(approx (+ (* b a) (* t z)) #s(hole binary64 (* t z)))
#s(approx (+ (* b a) (* t z)) #s(hole binary64 (* z (+ t (/ (* a b) z)))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (* t z)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (* z (+ t (+ (/ (* a b) z) (/ (* x y) z))))))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (* -1 (* z (+ (* -1 t) (* -1 (/ (+ (* a b) (* x y)) z)))))))
#s(approx (+ (* b a) (* t z)) #s(hole binary64 (* -1 (* z (+ (* -1 t) (* -1 (/ (* a b) z)))))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (* -1 (* z (+ (* -1 t) (* -1 (/ (+ (* a b) (* x y)) z)))))))
#s(approx t #s(hole binary64 t))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (* t (+ z (+ (/ (* a b) t) (/ (* x y) t))))))
#s(approx (+ (* b a) (* t z)) #s(hole binary64 (* t (+ z (/ (* a b) t)))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (* t (+ z (+ (/ (* a b) t) (/ (* x y) t))))))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (* -1 (* t (+ (* -1 z) (* -1 (/ (+ (* a b) (* x y)) t)))))))
#s(approx (+ (* b a) (* t z)) #s(hole binary64 (* -1 (* t (+ (* -1 z) (* -1 (/ (* a b) t)))))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (* -1 (* t (+ (* -1 z) (* -1 (/ (+ (* a b) (* x y)) t)))))))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (+ (* t z) (* x y))))
#s(approx a #s(hole binary64 a))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (+ (* t z) (* x y))))
#s(approx (* b a) #s(hole binary64 (* a b)))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (* a b)))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (* a (+ b (+ (/ (* t z) a) (/ (* x y) a))))))
#s(approx (+ (* b a) (* t z)) #s(hole binary64 (* a (+ b (/ (* t z) a)))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (* a b)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (* a (+ b (+ (/ (* t z) a) (/ (* x y) a))))))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (* -1 (* a (+ (* -1 b) (* -1 (/ (+ (* t z) (* x y)) a)))))))
#s(approx (+ (* b a) (* t z)) #s(hole binary64 (* -1 (* a (+ (* -1 b) (* -1 (/ (* t z) a)))))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (* -1 (* a (+ (* -1 b) (* -1 (/ (+ (* t z) (* x y)) a)))))))
#s(approx b #s(hole binary64 b))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (* b (+ a (+ (/ (* t z) b) (/ (* x y) b))))))
#s(approx (+ (* b a) (* t z)) #s(hole binary64 (* b (+ a (/ (* t z) b)))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (* b (+ a (+ (/ (* t z) b) (/ (* x y) b))))))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (* -1 (* b (+ (* -1 a) (* -1 (/ (+ (* t z) (* x y)) b)))))))
#s(approx (+ (* b a) (* t z)) #s(hole binary64 (* -1 (* b (+ (* -1 a) (* -1 (/ (* t z) b)))))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (* -1 (* b (+ (* -1 a) (* -1 (/ (+ (* t z) (* x y)) b)))))))
Outputs
(/.f64 (-.f64 (*.f64 (fma.f64 a b (*.f64 x y)) (fma.f64 a b (*.f64 x y))) (pow.f64 (*.f64 z t) #s(literal 2 binary64))) (-.f64 (fma.f64 a b (*.f64 x y)) (*.f64 z t)))
(/.f64 (-.f64 (pow.f64 (fma.f64 z t (*.f64 a b)) #s(literal 2 binary64)) (pow.f64 (*.f64 x y) #s(literal 2 binary64))) (-.f64 (fma.f64 z t (*.f64 a b)) (*.f64 x y)))
(/.f64 (-.f64 (pow.f64 (fma.f64 z t (*.f64 x y)) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 a) b) #s(literal 3 binary64))) (+.f64 (pow.f64 (fma.f64 z t (*.f64 x y)) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64)) (*.f64 (fma.f64 z t (*.f64 x y)) (*.f64 (neg.f64 a) b)))))
(/.f64 (+.f64 (pow.f64 (fma.f64 a b (*.f64 x y)) #s(literal 3 binary64)) (pow.f64 (*.f64 z t) #s(literal 3 binary64))) (fma.f64 (fma.f64 a b (*.f64 x y)) (fma.f64 a b (*.f64 x y)) (-.f64 (pow.f64 (*.f64 z t) #s(literal 2 binary64)) (*.f64 (fma.f64 a b (*.f64 x y)) (*.f64 z t)))))
(/.f64 (+.f64 (pow.f64 (fma.f64 z t (*.f64 a b)) #s(literal 3 binary64)) (pow.f64 (*.f64 x y) #s(literal 3 binary64))) (+.f64 (pow.f64 (fma.f64 z t (*.f64 a b)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 x y) #s(literal 2 binary64)) (*.f64 (fma.f64 z t (*.f64 a b)) (*.f64 x y)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x y) #s(literal 2 binary64)) (pow.f64 (fma.f64 z t (*.f64 a b)) #s(literal 2 binary64)))) (neg.f64 (-.f64 (*.f64 x y) (fma.f64 z t (*.f64 a b)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 z t (*.f64 x y)) #s(literal 2 binary64)) (pow.f64 (*.f64 a b) #s(literal 2 binary64)))) (neg.f64 (-.f64 (fma.f64 z t (*.f64 x y)) (*.f64 a b))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64)) (pow.f64 (fma.f64 z t (*.f64 x y)) #s(literal 2 binary64)))) (neg.f64 (-.f64 (*.f64 a b) (fma.f64 z t (*.f64 x y)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 x y) #s(literal 3 binary64)) (pow.f64 (fma.f64 z t (*.f64 a b)) #s(literal 3 binary64)))) (neg.f64 (+.f64 (pow.f64 (*.f64 x y) #s(literal 2 binary64)) (*.f64 (fma.f64 z t (*.f64 a b)) (-.f64 (fma.f64 z t (*.f64 a b)) (*.f64 x y))))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 z t (*.f64 x y)) #s(literal 3 binary64)) (pow.f64 (*.f64 a b) #s(literal 3 binary64)))) (neg.f64 (+.f64 (pow.f64 (fma.f64 z t (*.f64 x y)) #s(literal 2 binary64)) (*.f64 (*.f64 a b) (-.f64 (*.f64 a b) (fma.f64 z t (*.f64 x y)))))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 a b) #s(literal 3 binary64)) (pow.f64 (fma.f64 z t (*.f64 x y)) #s(literal 3 binary64)))) (neg.f64 (+.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64)) (*.f64 (fma.f64 z t (*.f64 x y)) (-.f64 (fma.f64 z t (*.f64 x y)) (*.f64 a b))))))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) #s(literal 2 binary64)) (pow.f64 (fma.f64 z t (*.f64 a b)) #s(literal 2 binary64))) (-.f64 (*.f64 x y) (fma.f64 z t (*.f64 a b))))
(/.f64 (-.f64 (pow.f64 (fma.f64 z t (*.f64 x y)) #s(literal 2 binary64)) (pow.f64 (*.f64 a b) #s(literal 2 binary64))) (-.f64 (fma.f64 z t (*.f64 x y)) (*.f64 a b)))
(/.f64 (-.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64)) (pow.f64 (fma.f64 z t (*.f64 x y)) #s(literal 2 binary64))) (-.f64 (*.f64 a b) (fma.f64 z t (*.f64 x y))))
(/.f64 (+.f64 (pow.f64 (*.f64 x y) #s(literal 3 binary64)) (pow.f64 (fma.f64 z t (*.f64 a b)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 x y) #s(literal 2 binary64)) (*.f64 (fma.f64 z t (*.f64 a b)) (-.f64 (fma.f64 z t (*.f64 a b)) (*.f64 x y)))))
(/.f64 (+.f64 (pow.f64 (fma.f64 z t (*.f64 x y)) #s(literal 3 binary64)) (pow.f64 (*.f64 a b) #s(literal 3 binary64))) (+.f64 (pow.f64 (fma.f64 z t (*.f64 x y)) #s(literal 2 binary64)) (*.f64 (*.f64 a b) (-.f64 (*.f64 a b) (fma.f64 z t (*.f64 x y))))))
(/.f64 (+.f64 (pow.f64 (*.f64 a b) #s(literal 3 binary64)) (pow.f64 (fma.f64 z t (*.f64 x y)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64)) (*.f64 (fma.f64 z t (*.f64 x y)) (-.f64 (fma.f64 z t (*.f64 x y)) (*.f64 a b)))))
(fma.f64 z t (fma.f64 a b (*.f64 x y)))
(fma.f64 t z (fma.f64 a b (*.f64 x y)))
(fma.f64 a b (fma.f64 z t (*.f64 x y)))
(fma.f64 b a (fma.f64 z t (*.f64 x y)))
(fma.f64 x y (fma.f64 z t (*.f64 a b)))
(fma.f64 y x (fma.f64 z t (*.f64 a b)))
(-.f64 (/.f64 (pow.f64 (*.f64 x y) #s(literal 2 binary64)) (-.f64 (*.f64 x y) (fma.f64 z t (*.f64 a b)))) (/.f64 (pow.f64 (fma.f64 z t (*.f64 a b)) #s(literal 2 binary64)) (-.f64 (*.f64 x y) (fma.f64 z t (*.f64 a b)))))
(-.f64 (/.f64 (pow.f64 (fma.f64 z t (*.f64 x y)) #s(literal 2 binary64)) (-.f64 (fma.f64 z t (*.f64 x y)) (*.f64 a b))) (/.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64)) (-.f64 (fma.f64 z t (*.f64 x y)) (*.f64 a b))))
(-.f64 (/.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64)) (-.f64 (*.f64 a b) (fma.f64 z t (*.f64 x y)))) (/.f64 (pow.f64 (fma.f64 z t (*.f64 x y)) #s(literal 2 binary64)) (-.f64 (*.f64 a b) (fma.f64 z t (*.f64 x y)))))
(-.f64 (fma.f64 a b (*.f64 x y)) (*.f64 (neg.f64 z) t))
(-.f64 (fma.f64 z t (*.f64 x y)) (*.f64 (neg.f64 a) b))
(-.f64 (fma.f64 z t (*.f64 a b)) (*.f64 (neg.f64 x) y))
(-.f64 (*.f64 z t) (-.f64 (*.f64 (neg.f64 x) y) (*.f64 a b)))
(-.f64 (*.f64 z t) (neg.f64 (fma.f64 a b (*.f64 x y))))
(-.f64 (*.f64 a b) (-.f64 (*.f64 (neg.f64 x) y) (*.f64 z t)))
(-.f64 (*.f64 a b) (-.f64 (*.f64 (neg.f64 z) t) (*.f64 x y)))
(-.f64 (*.f64 x y) (-.f64 (*.f64 (neg.f64 z) t) (*.f64 a b)))
(-.f64 (*.f64 x y) (neg.f64 (fma.f64 z t (*.f64 a b))))
(+.f64 (/.f64 (pow.f64 (*.f64 x y) #s(literal 3 binary64)) (+.f64 (pow.f64 (*.f64 x y) #s(literal 2 binary64)) (*.f64 (fma.f64 z t (*.f64 a b)) (-.f64 (fma.f64 z t (*.f64 a b)) (*.f64 x y))))) (/.f64 (pow.f64 (fma.f64 z t (*.f64 a b)) #s(literal 3 binary64)) (+.f64 (pow.f64 (*.f64 x y) #s(literal 2 binary64)) (*.f64 (fma.f64 z t (*.f64 a b)) (-.f64 (fma.f64 z t (*.f64 a b)) (*.f64 x y))))))
(+.f64 (/.f64 (pow.f64 (fma.f64 z t (*.f64 x y)) #s(literal 3 binary64)) (+.f64 (pow.f64 (fma.f64 z t (*.f64 x y)) #s(literal 2 binary64)) (*.f64 (*.f64 a b) (-.f64 (*.f64 a b) (fma.f64 z t (*.f64 x y)))))) (/.f64 (pow.f64 (*.f64 a b) #s(literal 3 binary64)) (+.f64 (pow.f64 (fma.f64 z t (*.f64 x y)) #s(literal 2 binary64)) (*.f64 (*.f64 a b) (-.f64 (*.f64 a b) (fma.f64 z t (*.f64 x y)))))))
(+.f64 (/.f64 (pow.f64 (*.f64 a b) #s(literal 3 binary64)) (+.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64)) (*.f64 (fma.f64 z t (*.f64 x y)) (-.f64 (fma.f64 z t (*.f64 x y)) (*.f64 a b))))) (/.f64 (pow.f64 (fma.f64 z t (*.f64 x y)) #s(literal 3 binary64)) (+.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64)) (*.f64 (fma.f64 z t (*.f64 x y)) (-.f64 (fma.f64 z t (*.f64 x y)) (*.f64 a b))))))
(+.f64 (fma.f64 a b (*.f64 x y)) (*.f64 z t))
(+.f64 (fma.f64 z t (*.f64 x y)) (*.f64 (neg.f64 (neg.f64 a)) b))
(+.f64 (fma.f64 z t (*.f64 x y)) (*.f64 a b))
(+.f64 (fma.f64 z t (*.f64 a b)) (*.f64 x y))
(+.f64 (*.f64 z t) (fma.f64 a b (*.f64 x y)))
(+.f64 (*.f64 a b) (fma.f64 z t (*.f64 x y)))
(+.f64 (*.f64 x y) (fma.f64 z t (*.f64 a b)))
y
x
(/.f64 (-.f64 (pow.f64 (*.f64 z t) #s(literal 2 binary64)) (pow.f64 (*.f64 a b) #s(literal 2 binary64))) (-.f64 (*.f64 z t) (*.f64 a b)))
(/.f64 (-.f64 (pow.f64 (*.f64 a b) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 z) t) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 z t) #s(literal 2 binary64)) (*.f64 (*.f64 a b) (*.f64 (neg.f64 z) t)))))
(/.f64 (+.f64 (pow.f64 (*.f64 z t) #s(literal 3 binary64)) (pow.f64 (*.f64 a b) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 z t) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64)) (*.f64 (*.f64 z t) (*.f64 a b)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64)) (pow.f64 (*.f64 z t) #s(literal 2 binary64)))) (neg.f64 (fma.f64 a b (*.f64 (neg.f64 z) t))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 a b) #s(literal 3 binary64)) (pow.f64 (*.f64 z t) #s(literal 3 binary64)))) (neg.f64 (+.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64)) (*.f64 (*.f64 z t) (-.f64 (*.f64 z t) (*.f64 a b))))))
(/.f64 (-.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64)) (pow.f64 (*.f64 z t) #s(literal 2 binary64))) (fma.f64 a b (*.f64 (neg.f64 z) t)))
(/.f64 (+.f64 (pow.f64 (*.f64 a b) #s(literal 3 binary64)) (pow.f64 (*.f64 z t) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64)) (*.f64 (*.f64 z t) (-.f64 (*.f64 z t) (*.f64 a b)))))
(fma.f64 z t (*.f64 a b))
(fma.f64 t z (*.f64 a b))
(fma.f64 a b (*.f64 (neg.f64 (neg.f64 t)) z))
(fma.f64 a b (*.f64 z t))
(fma.f64 b a (*.f64 (neg.f64 (neg.f64 t)) z))
(fma.f64 b a (*.f64 z t))
(-.f64 (/.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64)) (fma.f64 a b (*.f64 (neg.f64 z) t))) (/.f64 (pow.f64 (*.f64 z t) #s(literal 2 binary64)) (fma.f64 a b (*.f64 (neg.f64 z) t))))
(-.f64 (*.f64 z t) (*.f64 (neg.f64 a) b))
(-.f64 (*.f64 a b) (*.f64 (neg.f64 z) t))
(+.f64 (/.f64 (pow.f64 (*.f64 a b) #s(literal 3 binary64)) (+.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64)) (*.f64 (*.f64 z t) (-.f64 (*.f64 z t) (*.f64 a b))))) (/.f64 (pow.f64 (*.f64 z t) #s(literal 3 binary64)) (+.f64 (pow.f64 (*.f64 a b) #s(literal 2 binary64)) (*.f64 (*.f64 z t) (-.f64 (*.f64 z t) (*.f64 a b))))))
(+.f64 (*.f64 z t) (*.f64 a b))
(+.f64 (*.f64 a b) (*.f64 (neg.f64 (neg.f64 t)) z))
(+.f64 (*.f64 a b) (*.f64 z t))
b
a
(*.f64 z t)
(*.f64 t z)
t
z
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 a b))
(*.f64 a b)
(*.f64 b a)
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 z t))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))
(*.f64 x y)
(*.f64 y x)
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 z t (*.f64 a b)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 z t (*.f64 a b)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 z t (fma.f64 a b (*.f64 x y))))
#s(approx x x)
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 z t (*.f64 a b)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 z t (fma.f64 a b (*.f64 x y))))
#s(approx (* y x) (*.f64 x y))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 (+.f64 (/.f64 (fma.f64 z t (*.f64 a b)) x) y) x))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 (+.f64 (/.f64 (fma.f64 z t (*.f64 a b)) x) y) x))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 (neg.f64 x) (neg.f64 (+.f64 (/.f64 (fma.f64 z t (*.f64 a b)) x) y))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 (neg.f64 x) (neg.f64 (+.f64 (/.f64 (fma.f64 z t (*.f64 a b)) x) y))))
#s(approx y y)
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 (+.f64 (/.f64 (fma.f64 z t (*.f64 a b)) y) x) y))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 (+.f64 (/.f64 (fma.f64 z t (*.f64 a b)) y) x) y))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 (neg.f64 (+.f64 (/.f64 (fma.f64 z t (*.f64 a b)) y) x)) (neg.f64 y)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 (neg.f64 (+.f64 (/.f64 (fma.f64 z t (*.f64 a b)) y) x)) (neg.f64 y)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 a b (*.f64 x y)))
#s(approx (+ (* b a) (* t z)) (*.f64 a b))
#s(approx (+ (* b a) (* t z)) (fma.f64 z t (*.f64 a b)))
#s(approx (* t z) (*.f64 z t))
#s(approx z z)
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 a b (*.f64 x y)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 z t))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 (+.f64 (/.f64 (fma.f64 a b (*.f64 x y)) z) t) z))
#s(approx (+ (* b a) (* t z)) (*.f64 z t))
#s(approx (+ (* b a) (* t z)) (*.f64 (fma.f64 a (/.f64 b z) t) z))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 z t))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 (+.f64 (/.f64 (fma.f64 a b (*.f64 x y)) z) t) z))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 (neg.f64 z) (neg.f64 (+.f64 (/.f64 (fma.f64 a b (*.f64 x y)) z) t))))
#s(approx (+ (* b a) (* t z)) (*.f64 (neg.f64 z) (neg.f64 (fma.f64 a (/.f64 b z) t))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 (neg.f64 z) (neg.f64 (+.f64 (/.f64 (fma.f64 a b (*.f64 x y)) z) t))))
#s(approx t t)
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 (+.f64 (/.f64 (fma.f64 a b (*.f64 x y)) t) z) t))
#s(approx (+ (* b a) (* t z)) (*.f64 (fma.f64 a (/.f64 b t) z) t))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 (+.f64 (/.f64 (fma.f64 a b (*.f64 x y)) t) z) t))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 (neg.f64 (+.f64 (/.f64 (fma.f64 a b (*.f64 x y)) t) z)) (neg.f64 t)))
#s(approx (+ (* b a) (* t z)) (*.f64 (neg.f64 (fma.f64 a (/.f64 b t) z)) (neg.f64 t)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 (neg.f64 (+.f64 (/.f64 (fma.f64 a b (*.f64 x y)) t) z)) (neg.f64 t)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 z t (*.f64 x y)))
#s(approx a a)
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 z t (*.f64 x y)))
#s(approx (* b a) (*.f64 a b))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 a b))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 (+.f64 (/.f64 (fma.f64 z t (*.f64 x y)) a) b) a))
#s(approx (+ (* b a) (* t z)) (*.f64 (fma.f64 t (/.f64 z a) b) a))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 a b))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 (+.f64 (/.f64 (fma.f64 z t (*.f64 x y)) a) b) a))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 (neg.f64 a) (neg.f64 (+.f64 (/.f64 (fma.f64 z t (*.f64 x y)) a) b))))
#s(approx (+ (* b a) (* t z)) (*.f64 (neg.f64 a) (neg.f64 (fma.f64 t (/.f64 z a) b))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 (neg.f64 a) (neg.f64 (+.f64 (/.f64 (fma.f64 z t (*.f64 x y)) a) b))))
#s(approx b b)
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 (+.f64 (/.f64 (fma.f64 z t (*.f64 x y)) b) a) b))
#s(approx (+ (* b a) (* t z)) (*.f64 (fma.f64 t (/.f64 z b) a) b))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 (+.f64 (/.f64 (fma.f64 z t (*.f64 x y)) b) a) b))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 (neg.f64 (+.f64 (/.f64 (fma.f64 z t (*.f64 x y)) b) a)) (neg.f64 b)))
#s(approx (+ (* b a) (* t z)) (*.f64 (neg.f64 (fma.f64 t (/.f64 z b) a)) (neg.f64 b)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 (neg.f64 (+.f64 (/.f64 (fma.f64 z t (*.f64 x y)) b) a)) (neg.f64 b)))

eval41.0ms (1.6%)

Memory
-10.7MiB live, 35.2MiB allocated; 7ms collecting garbage
Compiler

Compiled 3 695 to 388 computations (89.5% saved)

prune6.0ms (0.2%)

Memory
15.4MiB live, 15.4MiB allocated; 0ms collecting garbage
Pruning

6 alts after pruning (2 fresh and 4 done)

PrunedKeptTotal
New1712173
Fresh202
Picked145
Done000
Total1746180
Accuracy
100.0%
Counts
180 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
67.6%
(fma.f64 y x #s(approx (+ (* b a) (* t z)) (*.f64 z t)))
68.4%
(fma.f64 y x #s(approx (+ (* b a) (* t z)) (*.f64 a b)))
66.8%
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 t z)))
37.0%
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 y x))
35.3%
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 t z))
34.5%
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 b a))
Compiler

Compiled 91 to 77 computations (15.4% saved)

series20.0ms (0.8%)

Memory
-26.0MiB live, 20.7MiB allocated; 5ms collecting garbage
Counts
12 → 38
Calls
Call 1
Inputs
(fma.f64 y x #s(approx (+ (* b a) (* t z)) (*.f64 a b)))
y
x
#s(approx (+ (* b a) (* t z)) (*.f64 a b))
(*.f64 a b)
a
b
(fma.f64 y x #s(approx (+ (* b a) (* t z)) (*.f64 z t)))
#s(approx (+ (* b a) (* t z)) (*.f64 z t))
(*.f64 z t)
z
t
Outputs
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (+ (* a b) (* t z))))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (+ (* a b) (+ (* t z) (* x y)))))
#s(approx x #s(hole binary64 x))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (* x y)))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (* x (+ y (+ (/ (* a b) x) (/ (* t z) x))))))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1 (/ (+ (* a b) (* t z)) x)))))))
#s(approx y #s(hole binary64 y))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (* y (+ x (+ (/ (* a b) y) (/ (* t z) y))))))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ (+ (* a b) (* t z)) y)))))))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (+ (* a b) (* x y))))
#s(approx (+ (* b a) (* t z)) #s(hole binary64 (* a b)))
#s(approx (+ (* b a) (* t z)) #s(hole binary64 (+ (* a b) (* t z))))
#s(approx (* z t) #s(hole binary64 (* t z)))
#s(approx z #s(hole binary64 z))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (* t z)))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (* z (+ t (+ (/ (* a b) z) (/ (* x y) z))))))
#s(approx (+ (* b a) (* t z)) #s(hole binary64 (* t z)))
#s(approx (+ (* b a) (* t z)) #s(hole binary64 (* z (+ t (/ (* a b) z)))))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (* -1 (* z (+ (* -1 t) (* -1 (/ (+ (* a b) (* x y)) z)))))))
#s(approx (+ (* b a) (* t z)) #s(hole binary64 (* -1 (* z (+ (* -1 t) (* -1 (/ (* a b) z)))))))
#s(approx t #s(hole binary64 t))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (* t (+ z (+ (/ (* a b) t) (/ (* x y) t))))))
#s(approx (+ (* b a) (* t z)) #s(hole binary64 (* t (+ z (/ (* a b) t)))))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (* -1 (* t (+ (* -1 z) (* -1 (/ (+ (* a b) (* x y)) t)))))))
#s(approx (+ (* b a) (* t z)) #s(hole binary64 (* -1 (* t (+ (* -1 z) (* -1 (/ (* a b) t)))))))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (+ (* t z) (* x y))))
#s(approx (* a b) #s(hole binary64 (* a b)))
#s(approx a #s(hole binary64 a))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (* a b)))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (* a (+ b (+ (/ (* t z) a) (/ (* x y) a))))))
#s(approx (+ (* b a) (* t z)) #s(hole binary64 (* a (+ b (/ (* t z) a)))))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (* -1 (* a (+ (* -1 b) (* -1 (/ (+ (* t z) (* x y)) a)))))))
#s(approx (+ (* b a) (* t z)) #s(hole binary64 (* -1 (* a (+ (* -1 b) (* -1 (/ (* t z) a)))))))
#s(approx b #s(hole binary64 b))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (* b (+ a (+ (/ (* t z) b) (/ (* x y) b))))))
#s(approx (+ (* b a) (* t z)) #s(hole binary64 (* b (+ a (/ (* t z) b)))))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (* -1 (* b (+ (* -1 a) (* -1 (/ (+ (* t z) (* x y)) b)))))))
#s(approx (+ (* b a) (* t z)) #s(hole binary64 (* -1 (* b (+ (* -1 a) (* -1 (/ (* t z) b)))))))
Calls

18 calls:

TimeVariablePointExpression
11.0ms
b
@-inf
((+ (* y x) (+ (* b a) (* t z))) y x (+ (* b a) (* t z)) (* a b) a b (+ (* y x) (+ (* b a) (* t z))) (+ (* b a) (* t z)) (* z t) z t)
1.0ms
z
@-inf
((+ (* y x) (+ (* b a) (* t z))) y x (+ (* b a) (* t z)) (* a b) a b (+ (* y x) (+ (* b a) (* t z))) (+ (* b a) (* t z)) (* z t) z t)
1.0ms
a
@-inf
((+ (* y x) (+ (* b a) (* t z))) y x (+ (* b a) (* t z)) (* a b) a b (+ (* y x) (+ (* b a) (* t z))) (+ (* b a) (* t z)) (* z t) z t)
1.0ms
t
@-inf
((+ (* y x) (+ (* b a) (* t z))) y x (+ (* b a) (* t z)) (* a b) a b (+ (* y x) (+ (* b a) (* t z))) (+ (* b a) (* t z)) (* z t) z t)
1.0ms
b
@inf
((+ (* y x) (+ (* b a) (* t z))) y x (+ (* b a) (* t z)) (* a b) a b (+ (* y x) (+ (* b a) (* t z))) (+ (* b a) (* t z)) (* z t) z t)

rewrite187.0ms (7.3%)

Memory
-1.6MiB live, 194.5MiB allocated; 31ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0153764
0156722
1943712
08630633
Stop Event
iter limit
node limit
iter limit
Counts
50 → 76
Calls
Call 1
Inputs
(fma.f64 y x #s(approx (+ (* b a) (* t z)) (*.f64 a b)))
y
x
#s(approx (+ (* b a) (* t z)) (*.f64 a b))
(*.f64 a b)
a
b
(fma.f64 y x #s(approx (+ (* b a) (* t z)) (*.f64 z t)))
#s(approx (+ (* b a) (* t z)) (*.f64 z t))
(*.f64 z t)
z
t
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (+ (* a b) (* t z))))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (+ (* a b) (+ (* t z) (* x y)))))
#s(approx x #s(hole binary64 x))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (* x y)))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (* x (+ y (+ (/ (* a b) x) (/ (* t z) x))))))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1 (/ (+ (* a b) (* t z)) x)))))))
#s(approx y #s(hole binary64 y))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (* y (+ x (+ (/ (* a b) y) (/ (* t z) y))))))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ (+ (* a b) (* t z)) y)))))))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (+ (* a b) (* x y))))
#s(approx (+ (* b a) (* t z)) #s(hole binary64 (* a b)))
#s(approx (+ (* b a) (* t z)) #s(hole binary64 (+ (* a b) (* t z))))
#s(approx (* z t) #s(hole binary64 (* t z)))
#s(approx z #s(hole binary64 z))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (* t z)))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (* z (+ t (+ (/ (* a b) z) (/ (* x y) z))))))
#s(approx (+ (* b a) (* t z)) #s(hole binary64 (* t z)))
#s(approx (+ (* b a) (* t z)) #s(hole binary64 (* z (+ t (/ (* a b) z)))))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (* -1 (* z (+ (* -1 t) (* -1 (/ (+ (* a b) (* x y)) z)))))))
#s(approx (+ (* b a) (* t z)) #s(hole binary64 (* -1 (* z (+ (* -1 t) (* -1 (/ (* a b) z)))))))
#s(approx t #s(hole binary64 t))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (* t (+ z (+ (/ (* a b) t) (/ (* x y) t))))))
#s(approx (+ (* b a) (* t z)) #s(hole binary64 (* t (+ z (/ (* a b) t)))))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (* -1 (* t (+ (* -1 z) (* -1 (/ (+ (* a b) (* x y)) t)))))))
#s(approx (+ (* b a) (* t z)) #s(hole binary64 (* -1 (* t (+ (* -1 z) (* -1 (/ (* a b) t)))))))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (+ (* t z) (* x y))))
#s(approx (* a b) #s(hole binary64 (* a b)))
#s(approx a #s(hole binary64 a))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (* a b)))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (* a (+ b (+ (/ (* t z) a) (/ (* x y) a))))))
#s(approx (+ (* b a) (* t z)) #s(hole binary64 (* a (+ b (/ (* t z) a)))))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (* -1 (* a (+ (* -1 b) (* -1 (/ (+ (* t z) (* x y)) a)))))))
#s(approx (+ (* b a) (* t z)) #s(hole binary64 (* -1 (* a (+ (* -1 b) (* -1 (/ (* t z) a)))))))
#s(approx b #s(hole binary64 b))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (* b (+ a (+ (/ (* t z) b) (/ (* x y) b))))))
#s(approx (+ (* b a) (* t z)) #s(hole binary64 (* b (+ a (/ (* t z) b)))))
#s(approx (+ (* y x) (+ (* b a) (* t z))) #s(hole binary64 (* -1 (* b (+ (* -1 a) (* -1 (/ (+ (* t z) (* x y)) b)))))))
#s(approx (+ (* b a) (* t z)) #s(hole binary64 (* -1 (* b (+ (* -1 a) (* -1 (/ (* t z) b)))))))
Outputs
(/.f64 (-.f64 (pow.f64 #s(approx (+ (* b a) (* t z)) (*.f64 a b)) #s(literal 2 binary64)) (pow.f64 (*.f64 x y) #s(literal 2 binary64))) (-.f64 #s(approx (+ (* b a) (* t z)) (*.f64 a b)) (*.f64 x y)))
(/.f64 (+.f64 (pow.f64 #s(approx (+ (* b a) (* t z)) (*.f64 a b)) #s(literal 3 binary64)) (pow.f64 (*.f64 x y) #s(literal 3 binary64))) (+.f64 (pow.f64 #s(approx (+ (* b a) (* t z)) (*.f64 a b)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 x y) #s(literal 2 binary64)) (*.f64 #s(approx (+ (* b a) (* t z)) (*.f64 a b)) (*.f64 x y)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x y) #s(literal 2 binary64)) (pow.f64 #s(approx (+ (* b a) (* t z)) (*.f64 a b)) #s(literal 2 binary64)))) (neg.f64 (-.f64 (*.f64 x y) #s(approx (+ (* b a) (* t z)) (*.f64 a b)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 x y) #s(literal 3 binary64)) (pow.f64 #s(approx (+ (* b a) (* t z)) (*.f64 a b)) #s(literal 3 binary64)))) (neg.f64 (+.f64 (pow.f64 (*.f64 x y) #s(literal 2 binary64)) (*.f64 #s(approx (+ (* b a) (* t z)) (*.f64 a b)) (-.f64 #s(approx (+ (* b a) (* t z)) (*.f64 a b)) (*.f64 x y))))))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) #s(literal 2 binary64)) (pow.f64 #s(approx (+ (* b a) (* t z)) (*.f64 a b)) #s(literal 2 binary64))) (-.f64 (*.f64 x y) #s(approx (+ (* b a) (* t z)) (*.f64 a b))))
(/.f64 (+.f64 (pow.f64 (*.f64 x y) #s(literal 3 binary64)) (pow.f64 #s(approx (+ (* b a) (* t z)) (*.f64 a b)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 x y) #s(literal 2 binary64)) (*.f64 #s(approx (+ (* b a) (* t z)) (*.f64 a b)) (-.f64 #s(approx (+ (* b a) (* t z)) (*.f64 a b)) (*.f64 x y)))))
(fma.f64 x y #s(approx (+ (* b a) (* t z)) (*.f64 a b)))
(fma.f64 y x #s(approx (+ (* b a) (* t z)) (*.f64 a b)))
(-.f64 (/.f64 (pow.f64 (*.f64 x y) #s(literal 2 binary64)) (-.f64 (*.f64 x y) #s(approx (+ (* b a) (* t z)) (*.f64 a b)))) (/.f64 (pow.f64 #s(approx (+ (* b a) (* t z)) (*.f64 a b)) #s(literal 2 binary64)) (-.f64 (*.f64 x y) #s(approx (+ (* b a) (* t z)) (*.f64 a b)))))
(-.f64 #s(approx (+ (* b a) (* t z)) (*.f64 a b)) (*.f64 (neg.f64 x) y))
(+.f64 (/.f64 (pow.f64 (*.f64 x y) #s(literal 3 binary64)) (+.f64 (pow.f64 (*.f64 x y) #s(literal 2 binary64)) (*.f64 #s(approx (+ (* b a) (* t z)) (*.f64 a b)) (-.f64 #s(approx (+ (* b a) (* t z)) (*.f64 a b)) (*.f64 x y))))) (/.f64 (pow.f64 #s(approx (+ (* b a) (* t z)) (*.f64 a b)) #s(literal 3 binary64)) (+.f64 (pow.f64 (*.f64 x y) #s(literal 2 binary64)) (*.f64 #s(approx (+ (* b a) (* t z)) (*.f64 a b)) (-.f64 #s(approx (+ (* b a) (* t z)) (*.f64 a b)) (*.f64 x y))))))
(+.f64 (*.f64 x y) #s(approx (+ (* b a) (* t z)) (*.f64 a b)))
(+.f64 #s(approx (+ (* b a) (* t z)) (*.f64 a b)) (*.f64 x y))
y
x
#s(approx (+ (* b a) (* t z)) (*.f64 a b))
(*.f64 a b)
(*.f64 b a)
a
b
(/.f64 (-.f64 (pow.f64 #s(approx (+ (* b a) (* t z)) (*.f64 z t)) #s(literal 2 binary64)) (pow.f64 (*.f64 x y) #s(literal 2 binary64))) (-.f64 #s(approx (+ (* b a) (* t z)) (*.f64 z t)) (*.f64 x y)))
(/.f64 (+.f64 (pow.f64 #s(approx (+ (* b a) (* t z)) (*.f64 z t)) #s(literal 3 binary64)) (pow.f64 (*.f64 x y) #s(literal 3 binary64))) (+.f64 (pow.f64 #s(approx (+ (* b a) (* t z)) (*.f64 z t)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 x y) #s(literal 2 binary64)) (*.f64 #s(approx (+ (* b a) (* t z)) (*.f64 z t)) (*.f64 x y)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x y) #s(literal 2 binary64)) (pow.f64 #s(approx (+ (* b a) (* t z)) (*.f64 z t)) #s(literal 2 binary64)))) (neg.f64 (-.f64 (*.f64 x y) #s(approx (+ (* b a) (* t z)) (*.f64 z t)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 x y) #s(literal 3 binary64)) (pow.f64 #s(approx (+ (* b a) (* t z)) (*.f64 z t)) #s(literal 3 binary64)))) (neg.f64 (+.f64 (pow.f64 (*.f64 x y) #s(literal 2 binary64)) (*.f64 #s(approx (+ (* b a) (* t z)) (*.f64 z t)) (-.f64 #s(approx (+ (* b a) (* t z)) (*.f64 z t)) (*.f64 x y))))))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) #s(literal 2 binary64)) (pow.f64 #s(approx (+ (* b a) (* t z)) (*.f64 z t)) #s(literal 2 binary64))) (-.f64 (*.f64 x y) #s(approx (+ (* b a) (* t z)) (*.f64 z t))))
(/.f64 (+.f64 (pow.f64 (*.f64 x y) #s(literal 3 binary64)) (pow.f64 #s(approx (+ (* b a) (* t z)) (*.f64 z t)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 x y) #s(literal 2 binary64)) (*.f64 #s(approx (+ (* b a) (* t z)) (*.f64 z t)) (-.f64 #s(approx (+ (* b a) (* t z)) (*.f64 z t)) (*.f64 x y)))))
(fma.f64 x y #s(approx (+ (* b a) (* t z)) (*.f64 z t)))
(fma.f64 y x #s(approx (+ (* b a) (* t z)) (*.f64 z t)))
(-.f64 (/.f64 (pow.f64 (*.f64 x y) #s(literal 2 binary64)) (-.f64 (*.f64 x y) #s(approx (+ (* b a) (* t z)) (*.f64 z t)))) (/.f64 (pow.f64 #s(approx (+ (* b a) (* t z)) (*.f64 z t)) #s(literal 2 binary64)) (-.f64 (*.f64 x y) #s(approx (+ (* b a) (* t z)) (*.f64 z t)))))
(-.f64 #s(approx (+ (* b a) (* t z)) (*.f64 z t)) (*.f64 (neg.f64 x) y))
(+.f64 (/.f64 (pow.f64 (*.f64 x y) #s(literal 3 binary64)) (+.f64 (pow.f64 (*.f64 x y) #s(literal 2 binary64)) (*.f64 #s(approx (+ (* b a) (* t z)) (*.f64 z t)) (-.f64 #s(approx (+ (* b a) (* t z)) (*.f64 z t)) (*.f64 x y))))) (/.f64 (pow.f64 #s(approx (+ (* b a) (* t z)) (*.f64 z t)) #s(literal 3 binary64)) (+.f64 (pow.f64 (*.f64 x y) #s(literal 2 binary64)) (*.f64 #s(approx (+ (* b a) (* t z)) (*.f64 z t)) (-.f64 #s(approx (+ (* b a) (* t z)) (*.f64 z t)) (*.f64 x y))))))
(+.f64 (*.f64 x y) #s(approx (+ (* b a) (* t z)) (*.f64 z t)))
(+.f64 #s(approx (+ (* b a) (* t z)) (*.f64 z t)) (*.f64 x y))
#s(approx (+ (* b a) (* t z)) (*.f64 z t))
(*.f64 z t)
(*.f64 t z)
z
t
#s(approx (+ (* y x) (+ (* b a) (* t z))) (fma.f64 a b (*.f64 z t)))
#s(approx (+ (* y x) (+ (* b a) (* t z))) (fma.f64 x y (fma.f64 a b (*.f64 z t))))
#s(approx x x)
#s(approx (+ (* y x) (+ (* b a) (* t z))) (*.f64 x y))
#s(approx (+ (* y x) (+ (* b a) (* t z))) (*.f64 (+.f64 (/.f64 (fma.f64 a b (*.f64 z t)) x) y) x))
#s(approx (+ (* y x) (+ (* b a) (* t z))) (*.f64 (neg.f64 x) (neg.f64 (+.f64 (/.f64 (fma.f64 a b (*.f64 z t)) x) y))))
#s(approx y y)
#s(approx (+ (* y x) (+ (* b a) (* t z))) (*.f64 (+.f64 (/.f64 (fma.f64 a b (*.f64 z t)) y) x) y))
#s(approx (+ (* y x) (+ (* b a) (* t z))) (*.f64 (neg.f64 (+.f64 (/.f64 (fma.f64 a b (*.f64 z t)) y) x)) (neg.f64 y)))
#s(approx (+ (* y x) (+ (* b a) (* t z))) (fma.f64 a b (*.f64 x y)))
#s(approx (+ (* b a) (* t z)) (*.f64 a b))
#s(approx (+ (* b a) (* t z)) (fma.f64 a b (*.f64 z t)))
#s(approx (* z t) (*.f64 z t))
#s(approx z z)
#s(approx (+ (* y x) (+ (* b a) (* t z))) (*.f64 z t))
#s(approx (+ (* y x) (+ (* b a) (* t z))) (*.f64 (+.f64 (/.f64 (fma.f64 a b (*.f64 x y)) z) t) z))
#s(approx (+ (* b a) (* t z)) (*.f64 z t))
#s(approx (+ (* b a) (* t z)) (*.f64 (fma.f64 a (/.f64 b z) t) z))
#s(approx (+ (* y x) (+ (* b a) (* t z))) (*.f64 (neg.f64 z) (neg.f64 (+.f64 (/.f64 (fma.f64 a b (*.f64 x y)) z) t))))
#s(approx (+ (* b a) (* t z)) (*.f64 (neg.f64 z) (neg.f64 (fma.f64 a (/.f64 b z) t))))
#s(approx t t)
#s(approx (+ (* y x) (+ (* b a) (* t z))) (*.f64 (+.f64 (/.f64 (fma.f64 a b (*.f64 x y)) t) z) t))
#s(approx (+ (* b a) (* t z)) (*.f64 (fma.f64 a (/.f64 b t) z) t))
#s(approx (+ (* y x) (+ (* b a) (* t z))) (*.f64 (neg.f64 (+.f64 (/.f64 (fma.f64 a b (*.f64 x y)) t) z)) (neg.f64 t)))
#s(approx (+ (* b a) (* t z)) (*.f64 (neg.f64 (fma.f64 a (/.f64 b t) z)) (neg.f64 t)))
#s(approx (+ (* y x) (+ (* b a) (* t z))) (fma.f64 z t (*.f64 x y)))
#s(approx (* a b) (*.f64 a b))
#s(approx a a)
#s(approx (+ (* y x) (+ (* b a) (* t z))) (*.f64 a b))
#s(approx (+ (* y x) (+ (* b a) (* t z))) (*.f64 (+.f64 (/.f64 (fma.f64 z t (*.f64 x y)) a) b) a))
#s(approx (+ (* b a) (* t z)) (*.f64 (fma.f64 t (/.f64 z a) b) a))
#s(approx (+ (* y x) (+ (* b a) (* t z))) (*.f64 (neg.f64 a) (neg.f64 (+.f64 (/.f64 (fma.f64 z t (*.f64 x y)) a) b))))
#s(approx (+ (* b a) (* t z)) (*.f64 (neg.f64 a) (neg.f64 (fma.f64 t (/.f64 z a) b))))
#s(approx b b)
#s(approx (+ (* y x) (+ (* b a) (* t z))) (*.f64 (+.f64 (/.f64 (fma.f64 z t (*.f64 x y)) b) a) b))
#s(approx (+ (* b a) (* t z)) (*.f64 (fma.f64 t (/.f64 z b) a) b))
#s(approx (+ (* y x) (+ (* b a) (* t z))) (*.f64 (neg.f64 (+.f64 (/.f64 (fma.f64 z t (*.f64 x y)) b) a)) (neg.f64 b)))
#s(approx (+ (* b a) (* t z)) (*.f64 (neg.f64 (fma.f64 t (/.f64 z b) a)) (neg.f64 b)))

eval10.0ms (0.4%)

Memory
20.3MiB live, 20.3MiB allocated; 0ms collecting garbage
Compiler

Compiled 1 921 to 222 computations (88.4% saved)

prune5.0ms (0.2%)

Memory
11.8MiB live, 11.8MiB allocated; 0ms collecting garbage
Pruning

6 alts after pruning (0 fresh and 6 done)

PrunedKeptTotal
New78078
Fresh000
Picked022
Done044
Total78684
Accuracy
100.0%
Counts
84 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
67.6%
(fma.f64 y x #s(approx (+ (* b a) (* t z)) (*.f64 z t)))
68.4%
(fma.f64 y x #s(approx (+ (* b a) (* t z)) (*.f64 a b)))
66.8%
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 t z)))
37.0%
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 y x))
35.3%
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 t z))
34.5%
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 b a))
Compiler

Compiled 238 to 113 computations (52.5% saved)

regimes65.0ms (2.5%)

Memory
-21.6MiB live, 83.4MiB allocated; 3ms collecting garbage
Counts
10 → 1
Calls
Call 1
Inputs
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 b a))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 t z))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 y x))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 t z)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 y x)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 t z (*.f64 y x)))
(fma.f64 y x #s(approx (+ (* b a) (* t z)) (*.f64 a b)))
(fma.f64 y x #s(approx (+ (* b a) (* t z)) (*.f64 z t)))
(fma.f64 y x (fma.f64 b a (*.f64 t z)))
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
Outputs
(fma.f64 y x (fma.f64 b a (*.f64 t z)))
Calls

11 calls:

26.0ms
a
8.0ms
(*.f64 x y)
4.0ms
x
3.0ms
t
3.0ms
b
Results
AccuracySegmentsBranch
98.8%1(*.f64 a b)
98.8%1(*.f64 z t)
98.8%1(*.f64 x y)
98.8%1(+.f64 (*.f64 x y) (*.f64 z t))
98.8%1(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
98.8%1x
98.8%1y
98.8%1z
98.8%1t
98.8%1a
98.8%1b
Compiler

Compiled 33 to 77 computations (-133.3% saved)

regimes80.0ms (3.1%)

Memory
-9.5MiB live, 83.8MiB allocated; 8ms collecting garbage
Counts
8 → 3
Calls
Call 1
Inputs
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 b a))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 t z))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 y x))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 t z)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 y x)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 t z (*.f64 y x)))
(fma.f64 y x #s(approx (+ (* b a) (* t z)) (*.f64 a b)))
(fma.f64 y x #s(approx (+ (* b a) (* t z)) (*.f64 z t)))
Outputs
(fma.f64 y x #s(approx (+ (* b a) (* t z)) (*.f64 a b)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 t z (*.f64 y x)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 y x)))
Calls

11 calls:

50.0ms
(*.f64 z t)
4.0ms
z
3.0ms
a
3.0ms
b
3.0ms
t
Results
AccuracySegmentsBranch
91.0%3(*.f64 a b)
90.5%3(*.f64 z t)
88.0%3(*.f64 x y)
85.3%3(+.f64 (*.f64 x y) (*.f64 z t))
75.0%3(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
83.5%3x
87.1%4y
86.6%3z
84.1%3t
86.2%3a
89.2%4b
Compiler

Compiled 33 to 77 computations (-133.3% saved)

regimes3.0ms (0.1%)

Memory
6.4MiB live, 6.4MiB allocated; 0ms collecting garbage
Counts
6 → 3
Calls
Call 1
Inputs
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 b a))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 t z))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 y x))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 t z)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 y x)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 t z (*.f64 y x)))
Outputs
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 y x)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 t z (*.f64 y x)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 y x)))
Calls

1 calls:

2.0ms
(*.f64 a b)
Results
AccuracySegmentsBranch
91.0%3(*.f64 a b)
Compiler

Compiled 3 to 7 computations (-133.3% saved)

regimes5.0ms (0.2%)

Memory
10.8MiB live, 10.8MiB allocated; 0ms collecting garbage
Counts
5 → 3
Calls
Call 1
Inputs
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 b a))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 t z))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 y x))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 t z)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 y x)))
Outputs
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 t z)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 y x)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 t z)))
Calls

2 calls:

2.0ms
(*.f64 a b)
2.0ms
(*.f64 z t)
Results
AccuracySegmentsBranch
88.4%3(*.f64 z t)
72.6%3(*.f64 a b)
Compiler

Compiled 6 to 14 computations (-133.3% saved)

regimes49.0ms (1.9%)

Memory
-15.4MiB live, 33.6MiB allocated; 5ms collecting garbage
Counts
4 → 3
Calls
Call 1
Inputs
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 b a))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 t z))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 y x))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 t z)))
Outputs
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 y x))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 t z)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 y x))
Calls

7 calls:

38.0ms
a
2.0ms
y
2.0ms
b
2.0ms
z
2.0ms
(*.f64 z t)
Results
AccuracySegmentsBranch
69.8%2(+.f64 (*.f64 x y) (*.f64 z t))
77.0%3y
66.8%1a
70.4%3z
70.2%3b
84.7%3(*.f64 x y)
70.0%3(*.f64 z t)
Compiler

Compiled 17 to 47 computations (-176.5% saved)

regimes26.0ms (1%)

Memory
1.3MiB live, 48.9MiB allocated; 2ms collecting garbage
Counts
3 → 6
Calls
Call 1
Inputs
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 b a))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 t z))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 y x))
Outputs
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 t z))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 b a))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 y x))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 b a))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 y x))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 t z))
Calls

11 calls:

10.0ms
b
2.0ms
t
2.0ms
a
2.0ms
y
2.0ms
z
Results
AccuracySegmentsBranch
55.9%4a
64.9%6(*.f64 z t)
60.1%4b
57.2%4z
54.6%3(+.f64 (*.f64 x y) (*.f64 z t))
60.7%4(*.f64 a b)
46.8%5(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
59.0%4y
60.3%5x
57.9%5t
63.3%5(*.f64 x y)
Compiler

Compiled 33 to 77 computations (-133.3% saved)

regimes5.0ms (0.2%)

Memory
18.0MiB live, 18.0MiB allocated; 0ms collecting garbage
Counts
2 → 3
Calls
Call 1
Inputs
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 b a))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 t z))
Outputs
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 b a))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 t z))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 b a))
Calls

4 calls:

1.0ms
b
1.0ms
(*.f64 a b)
1.0ms
(*.f64 x y)
1.0ms
(*.f64 z t)
Results
AccuracySegmentsBranch
54.0%3b
57.6%3(*.f64 a b)
42.0%3(*.f64 x y)
57.1%3(*.f64 z t)
Compiler

Compiled 10 to 27 computations (-170% saved)

regimes14.0ms (0.5%)

Memory
-4.4MiB live, 41.6MiB allocated; 2ms collecting garbage
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
Calls
Call 1
Inputs
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 b a))
Outputs
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 b a))
Calls

11 calls:

3.0ms
(*.f64 z t)
1.0ms
(+.f64 (*.f64 x y) (*.f64 z t))
1.0ms
x
1.0ms
z
1.0ms
t
Results
AccuracySegmentsBranch
34.5%1(*.f64 x y)
34.5%1(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
34.5%1b
34.5%1a
34.5%1(+.f64 (*.f64 x y) (*.f64 z t))
34.5%1t
34.5%1z
34.5%1(*.f64 z t)
34.5%1x
34.5%1y
34.5%1(*.f64 a b)
Compiler

Compiled 33 to 77 computations (-133.3% saved)

bsearch1.0ms (0%)

Memory
1.4MiB live, 1.4MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
9.714245360990765e+115
6.644931706821246e+116
0.0ms
-5.672230946640502e+86
-1.2119743351705938e+73
Compiler

Compiled 14 to 20 computations (-42.9% saved)

bsearch0.0ms (0%)

Memory
1.4MiB live, 1.4MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
9.714245360990765e+115
6.644931706821246e+116
0.0ms
-5.672230946640502e+86
-1.2119743351705938e+73
Compiler

Compiled 14 to 20 computations (-42.9% saved)

bsearch0.0ms (0%)

Memory
1.7MiB live, 1.7MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
8.677882275969722e-14
1.258025763598678e-7
0.0ms
-1.7773875758083555e+117
-5.859368978734009e+113
Compiler

Compiled 14 to 20 computations (-42.9% saved)

bsearch0.0ms (0%)

Memory
1.2MiB live, 1.2MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.832023870845057e+182
4.7759137631989915e+191
0.0ms
-3.1965009951757974e+229
-1.1917100974503859e+227
Compiler

Compiled 14 to 20 computations (-42.9% saved)

bsearch1.0ms (0%)

Memory
3.0MiB live, 3.0MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
8.677882275969722e-14
1.258025763598678e-7
0.0ms
1.6618057238679666e-196
8.519220319758226e-196
0.0ms
-1.0046779408054708e-262
-7.258793035862565e-268
0.0ms
-3.6599500941966255e-78
-2.9469061424319033e-78
0.0ms
-1.7773875758083555e+117
-5.859368978734009e+113
Compiler

Compiled 14 to 20 computations (-42.9% saved)

bsearch0.0ms (0%)

Memory
1.5MiB live, 1.5MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
9.562703066131648e+69
3.0803224589145086e+91
0.0ms
-5.672230946640502e+86
-1.2119743351705938e+73
Compiler

Compiled 14 to 20 computations (-42.9% saved)

simplify19.0ms (0.7%)

Memory
-4.7MiB live, 41.4MiB allocated; 4ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
066393
198393
2139393
3216393
4272393
5283393
6297393
7298393
Stop Event
saturated
Calls
Call 1
Inputs
(fma.f64 y x (fma.f64 b a (*.f64 t z)))
(if (<=.f64 (*.f64 a b) #s(literal -499999999999999979708362228175181365745998044824225719834869504903351961475477212758016 binary64)) (fma.f64 y x #s(approx (+ (* b a) (* t z)) (*.f64 a b))) (if (<=.f64 (*.f64 a b) #s(literal 100000000000000001555941612946684302426820139692106143336977058043083378116475570326498538991504744767620628086784000 binary64)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 t z (*.f64 y x))) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 y x)))))
(if (<=.f64 (*.f64 a b) #s(literal -499999999999999979708362228175181365745998044824225719834869504903351961475477212758016 binary64)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 y x))) (if (<=.f64 (*.f64 a b) #s(literal 100000000000000001555941612946684302426820139692106143336977058043083378116475570326498538991504744767620628086784000 binary64)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 t z (*.f64 y x))) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 y x)))))
(if (<=.f64 (*.f64 z t) #s(literal -1000000000000000050555427725995033814228237030803003279020481474722232763977085405824233377105062219252417113236701184 binary64)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 t z))) (if (<=.f64 (*.f64 z t) #s(literal 3961408125713217/39614081257132168796771975168 binary64)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 y x))) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 t z)))))
(if (<=.f64 (*.f64 x y) #s(literal -19999999999999999836777221245888555157266854023040746648359793341285923569054049205612780991738616816940675431370589468387985186797779692394447533106893958186103920770675008711375515345125281086808706628454884068855007427340271616 binary64)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 y x)) (if (<=.f64 (*.f64 x y) #s(literal 200000000000000012906239745447679119308421504820578339539671915665471618650040573112543019986749031403290765577790368360384389590184578101271409790645582658247315902435527641605865472 binary64)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 t z))) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 y x))))
(if (<=.f64 (*.f64 z t) #s(literal -1000000000000000050555427725995033814228237030803003279020481474722232763977085405824233377105062219252417113236701184 binary64)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 t z)) (if (<=.f64 (*.f64 z t) #s(literal -6257774519299541/2085924839766513752338888384931203236916703635113918720651407820138886450957656787131798913024 binary64)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 b a)) (if (<=.f64 (*.f64 z t) #s(literal -7090649168385425/70906491683854249133971333415503528601229677279443476631916611638829262598057001759775558209235971002092300595769547131083230268742795262708226708464736682213924924871800416657575912944521796077262840069882938251784694133132833485038618990914757637167551284096438594475925700608 binary64)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 y x)) (if (<=.f64 (*.f64 z t) #s(literal 4208108721238699/21040543606193494028963959531520514662201359211292695437993123612274928617188323288454666145110353804907931875424712870852077729000735215452511259082607523399820894684513778392766655031537290869085173006943125504 binary64)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 b a)) (if (<=.f64 (*.f64 z t) #s(literal 3961408125713217/39614081257132168796771975168 binary64)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 y x)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 t z)))))))
(if (<=.f64 (*.f64 a b) #s(literal -499999999999999979708362228175181365745998044824225719834869504903351961475477212758016 binary64)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 b a)) (if (<=.f64 (*.f64 a b) #s(literal 10000000000000000725314363815292351261583744096465219555182101554790400 binary64)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 t z)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 b a))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 b a))
Outputs
(fma.f64 y x (fma.f64 b a (*.f64 t z)))
(if (<=.f64 (*.f64 a b) #s(literal -499999999999999979708362228175181365745998044824225719834869504903351961475477212758016 binary64)) (fma.f64 y x #s(approx (+ (* b a) (* t z)) (*.f64 a b))) (if (<=.f64 (*.f64 a b) #s(literal 100000000000000001555941612946684302426820139692106143336977058043083378116475570326498538991504744767620628086784000 binary64)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 t z (*.f64 y x))) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 y x)))))
(if (<=.f64 (*.f64 a b) #s(literal -499999999999999979708362228175181365745998044824225719834869504903351961475477212758016 binary64)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 y x))) (if (<=.f64 (*.f64 a b) #s(literal 100000000000000001555941612946684302426820139692106143336977058043083378116475570326498538991504744767620628086784000 binary64)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 t z (*.f64 y x))) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 y x)))))
(if (or (<=.f64 (*.f64 a b) #s(literal -499999999999999979708362228175181365745998044824225719834869504903351961475477212758016 binary64)) (not (<=.f64 (*.f64 a b) #s(literal 100000000000000001555941612946684302426820139692106143336977058043083378116475570326498538991504744767620628086784000 binary64)))) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 y x))) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 t z (*.f64 y x))))
(if (<=.f64 (*.f64 z t) #s(literal -1000000000000000050555427725995033814228237030803003279020481474722232763977085405824233377105062219252417113236701184 binary64)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 t z))) (if (<=.f64 (*.f64 z t) #s(literal 3961408125713217/39614081257132168796771975168 binary64)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 y x))) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 t z)))))
(if (or (<=.f64 (*.f64 z t) #s(literal -1000000000000000050555427725995033814228237030803003279020481474722232763977085405824233377105062219252417113236701184 binary64)) (not (<=.f64 (*.f64 z t) #s(literal 3961408125713217/39614081257132168796771975168 binary64)))) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 t z))) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 y x))))
(if (<=.f64 (*.f64 x y) #s(literal -19999999999999999836777221245888555157266854023040746648359793341285923569054049205612780991738616816940675431370589468387985186797779692394447533106893958186103920770675008711375515345125281086808706628454884068855007427340271616 binary64)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 y x)) (if (<=.f64 (*.f64 x y) #s(literal 200000000000000012906239745447679119308421504820578339539671915665471618650040573112543019986749031403290765577790368360384389590184578101271409790645582658247315902435527641605865472 binary64)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 t z))) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 y x))))
(if (or (<=.f64 (*.f64 x y) #s(literal -19999999999999999836777221245888555157266854023040746648359793341285923569054049205612780991738616816940675431370589468387985186797779692394447533106893958186103920770675008711375515345125281086808706628454884068855007427340271616 binary64)) (not (<=.f64 (*.f64 x y) #s(literal 200000000000000012906239745447679119308421504820578339539671915665471618650040573112543019986749031403290765577790368360384389590184578101271409790645582658247315902435527641605865472 binary64)))) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 y x)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 t z))))
(if (<=.f64 (*.f64 z t) #s(literal -1000000000000000050555427725995033814228237030803003279020481474722232763977085405824233377105062219252417113236701184 binary64)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 t z)) (if (<=.f64 (*.f64 z t) #s(literal -6257774519299541/2085924839766513752338888384931203236916703635113918720651407820138886450957656787131798913024 binary64)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 b a)) (if (<=.f64 (*.f64 z t) #s(literal -7090649168385425/70906491683854249133971333415503528601229677279443476631916611638829262598057001759775558209235971002092300595769547131083230268742795262708226708464736682213924924871800416657575912944521796077262840069882938251784694133132833485038618990914757637167551284096438594475925700608 binary64)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 y x)) (if (<=.f64 (*.f64 z t) #s(literal 4208108721238699/21040543606193494028963959531520514662201359211292695437993123612274928617188323288454666145110353804907931875424712870852077729000735215452511259082607523399820894684513778392766655031537290869085173006943125504 binary64)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 b a)) (if (<=.f64 (*.f64 z t) #s(literal 3961408125713217/39614081257132168796771975168 binary64)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 y x)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 t z)))))))
(if (<=.f64 (*.f64 a b) #s(literal -499999999999999979708362228175181365745998044824225719834869504903351961475477212758016 binary64)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 b a)) (if (<=.f64 (*.f64 a b) #s(literal 10000000000000000725314363815292351261583744096465219555182101554790400 binary64)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 t z)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 b a))))
(if (or (<=.f64 (*.f64 a b) #s(literal -499999999999999979708362228175181365745998044824225719834869504903351961475477212758016 binary64)) (not (<=.f64 (*.f64 a b) #s(literal 10000000000000000725314363815292351261583744096465219555182101554790400 binary64)))) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 b a)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 t z)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 b a))

derivations283.0ms (11%)

Memory
-20.6MiB live, 358.7MiB allocated; 28ms collecting garbage
Stop Event
done
Compiler

Compiled 393 to 71 computations (81.9% saved)

preprocess45.0ms (1.8%)

Memory
19.8MiB live, 121.7MiB allocated; 7ms collecting garbage
Remove

(sort a b)

(sort z t)

(sort x y)

Compiler

Compiled 862 to 218 computations (74.7% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated; 0ms collecting garbage

Profiling

Loading profile data...