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

Time bar (total: 2.3s)

start0.0ms (0%)

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

analyze1.0ms (0%)

Memory
1.3MiB live, 1.3MiB 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)

sample932.0ms (41.1%)

Memory
11.7MiB live, 1 429.1MiB allocated; 321ms collecting garbage
Samples
591.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 245.0ms
ival-mult!: 206.0ms (84.1% of total)
ival-add!: 37.0ms (15.1% of total)
adjust: 2.0ms (0.8% of total)
Bogosity

explain94.0ms (4.1%)

Memory
-17.0MiB live, 180.2MiB allocated; 13ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
70-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-rescue70
(*.f64 x y)overflow30
(+.f64 (*.f64 x y) (*.f64 z t))overflow59
(*.f64 z t)overflow34
(*.f64 a b)overflow36
+.f64(+.f64 (*.f64 x y) (*.f64 z t))nan-rescue10
(*.f64 x y)overflow30
(*.f64 z t)overflow34
Confusion
Predicted +Predicted -
+80
-0248
Precision
1.0
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+800
-00248
Precision?
1.0
Recall?
1.0
Freqs
test
numberfreq
0248
18
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
32.0ms512×0valid
Compiler

Compiled 81 to 37 computations (54.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 10.0ms
ival-mult!: 7.0ms (73.4% of total)
ival-add!: 2.0ms (21% of total)
adjust: 0.0ms (0% of total)

preprocess42.0ms (1.9%)

Memory
16.4MiB live, 66.3MiB allocated; 6ms 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.2MiB live, 0.2MiB 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
96.9%
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
Compiler

Compiled 11 to 11 computations (0% saved)

series16.0ms (0.7%)

Memory
-9.3MiB live, 37.6MiB 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
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
@-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
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
@0
((+ (+ (* x y) (* z t)) (* a b)) (+ (* x y) (* z t)) (* x y) x y (* z t) z t (* a b) a b)

rewrite243.0ms (10.7%)

Memory
-3.0MiB live, 177.7MiB allocated; 76ms 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)))

eval11.0ms (0.5%)

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

Compiled 2 385 to 352 computations (85.2% saved)

prune6.0ms (0.3%)

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

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New1116117
Fresh000
Picked101
Done000
Total1126118
Accuracy
100.0%
Counts
118 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
65.8%
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 t z (*.f64 y x)))
64.3%
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 y x)))
71.9%
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 t z)))
30.7%
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 y x))
38.4%
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 t z))
37.9%
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 b a))
Compiler

Compiled 198 to 162 computations (18.2% saved)

series35.0ms (1.5%)

Memory
-15.0MiB live, 31.3MiB allocated; 2ms collecting garbage
Counts
16 → 50
Calls
Call 1
Inputs
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 t z)))
(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)
y
x
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 y x)))
(fma.f64 b a (*.f64 y x))
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 (* y x) #s(hole binary64 (* x y)))
#s(approx x #s(hole binary64 x))
#s(approx (+ (* b a) (* y x)) #s(hole binary64 (* a b)))
#s(approx (+ (* b a) (* y x)) #s(hole binary64 (+ (* a b) (* x y))))
#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 (+ (* b a) (* y x)) #s(hole binary64 (* x y)))
#s(approx (+ (* b a) (* y x)) #s(hole binary64 (* x (+ y (/ (* a b) x)))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1 (/ (+ (* a b) (* t z)) x)))))))
#s(approx (+ (* b a) (* y x)) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1 (/ (* a b) 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 (+ (* b a) (* y x)) #s(hole binary64 (* y (+ x (/ (* a b) y)))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ (+ (* a b) (* t z)) y)))))))
#s(approx (+ (* b a) (* y x)) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ (* a b) y)))))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #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 (* t z)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #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 (* -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 (+ (+ (* x y) (* z t)) (* a b)) #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 (* -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 (+ (* t z) (* x y))))
#s(approx a #s(hole binary64 a))
#s(approx (* b a) #s(hole binary64 (* a b)))
#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 (+ (* b a) (* t z)) #s(hole binary64 (* a (+ b (/ (* t z) a)))))
#s(approx (+ (* b a) (* y x)) #s(hole binary64 (* a (+ b (/ (* 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 a) (* t z)) #s(hole binary64 (* -1 (* a (+ (* -1 b) (* -1 (/ (* t z) a)))))))
#s(approx (+ (* b a) (* y x)) #s(hole binary64 (* -1 (* a (+ (* -1 b) (* -1 (/ (* 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 (+ (* b a) (* t z)) #s(hole binary64 (* b (+ a (/ (* t z) b)))))
#s(approx (+ (* b a) (* y x)) #s(hole binary64 (* b (+ a (/ (* x y) b)))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #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 (+ (* b a) (* y x)) #s(hole binary64 (* -1 (* b (+ (* -1 a) (* -1 (/ (* x y) b)))))))
Calls

18 calls:

TimeVariablePointExpression
20.0ms
x
@0
((+ (+ (* x y) (* z t)) (* a b)) (+ (* 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) y x (+ (+ (* x y) (* z t)) (* a b)) (+ (* b a) (* y x)))
2.0ms
t
@inf
((+ (+ (* x y) (* z t)) (* a b)) (+ (* 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) y x (+ (+ (* x y) (* z t)) (* a b)) (+ (* b a) (* y x)))
1.0ms
b
@-inf
((+ (+ (* x y) (* z t)) (* a b)) (+ (* 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) y x (+ (+ (* x y) (* z t)) (* a b)) (+ (* b a) (* y x)))
1.0ms
a
@-inf
((+ (+ (* x y) (* z t)) (* a b)) (+ (* 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) y x (+ (+ (* x y) (* z t)) (* a b)) (+ (* b a) (* y x)))
1.0ms
x
@-inf
((+ (+ (* x y) (* z t)) (* a b)) (+ (* 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) y x (+ (+ (* x y) (* z t)) (* a b)) (+ (* b a) (* y x)))

rewrite228.0ms (10.1%)

Memory
-16.6MiB live, 176.5MiB allocated; 20ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0195992
0201901
11162887
08402841
Stop Event
iter limit
node limit
iter limit
Counts
66 → 110
Calls
Call 1
Inputs
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 t z)))
(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)
y
x
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 y x)))
(fma.f64 b a (*.f64 y 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 x #s(hole binary64 x))
#s(approx (+ (* b a) (* y x)) #s(hole binary64 (* a b)))
#s(approx (+ (* b a) (* y x)) #s(hole binary64 (+ (* a b) (* x y))))
#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 (+ (* b a) (* y x)) #s(hole binary64 (* x y)))
#s(approx (+ (* b a) (* y x)) #s(hole binary64 (* x (+ y (/ (* a b) x)))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1 (/ (+ (* a b) (* t z)) x)))))))
#s(approx (+ (* b a) (* y x)) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1 (/ (* a b) 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 (+ (* b a) (* y x)) #s(hole binary64 (* y (+ x (/ (* a b) y)))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ (+ (* a b) (* t z)) y)))))))
#s(approx (+ (* b a) (* y x)) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ (* a b) y)))))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #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 (* t z)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #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 (* -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 (+ (+ (* x y) (* z t)) (* a b)) #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 (* -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 (+ (* t z) (* x y))))
#s(approx a #s(hole binary64 a))
#s(approx (* b a) #s(hole binary64 (* a b)))
#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 (+ (* b a) (* t z)) #s(hole binary64 (* a (+ b (/ (* t z) a)))))
#s(approx (+ (* b a) (* y x)) #s(hole binary64 (* a (+ b (/ (* 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 a) (* t z)) #s(hole binary64 (* -1 (* a (+ (* -1 b) (* -1 (/ (* t z) a)))))))
#s(approx (+ (* b a) (* y x)) #s(hole binary64 (* -1 (* a (+ (* -1 b) (* -1 (/ (* 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 (+ (* b a) (* t z)) #s(hole binary64 (* b (+ a (/ (* t z) b)))))
#s(approx (+ (* b a) (* y x)) #s(hole binary64 (* b (+ a (/ (* x y) b)))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #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 (+ (* b a) (* y x)) #s(hole binary64 (* -1 (* b (+ (* -1 a) (* -1 (/ (* x y) b)))))))
Outputs
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 t z)))
(/.f64 (-.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (pow.f64 (*.f64 b a) #s(literal 2 binary64))) (-.f64 (*.f64 t z) (*.f64 b a)))
(/.f64 (-.f64 (pow.f64 (*.f64 b a) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 z) t) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (*.f64 (*.f64 b a) (*.f64 (neg.f64 z) t)))))
(/.f64 (+.f64 (pow.f64 (*.f64 t z) #s(literal 3 binary64)) (pow.f64 (*.f64 b a) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (*.f64 (*.f64 t z) (*.f64 b a)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (pow.f64 (*.f64 t z) #s(literal 2 binary64)))) (neg.f64 (fma.f64 b a (*.f64 (neg.f64 z) t))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 b a) #s(literal 3 binary64)) (pow.f64 (*.f64 t z) #s(literal 3 binary64)))) (neg.f64 (+.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (*.f64 (*.f64 t z) (-.f64 (*.f64 t z) (*.f64 b a))))))
(/.f64 (-.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (pow.f64 (*.f64 t z) #s(literal 2 binary64))) (fma.f64 b a (*.f64 (neg.f64 z) t)))
(/.f64 (+.f64 (pow.f64 (*.f64 b a) #s(literal 3 binary64)) (pow.f64 (*.f64 t z) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (*.f64 (*.f64 t z) (-.f64 (*.f64 t z) (*.f64 b a)))))
(fma.f64 b a (*.f64 (neg.f64 (neg.f64 t)) z))
(fma.f64 b a (*.f64 t z))
(fma.f64 a b (*.f64 (neg.f64 (neg.f64 t)) z))
(fma.f64 a b (*.f64 t z))
(fma.f64 t z (*.f64 b a))
(fma.f64 z t (*.f64 b a))
(-.f64 (/.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (fma.f64 b a (*.f64 (neg.f64 z) t))) (/.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (fma.f64 b a (*.f64 (neg.f64 z) t))))
(-.f64 (*.f64 t z) (*.f64 (neg.f64 a) b))
(-.f64 (*.f64 b a) (*.f64 (neg.f64 z) t))
(+.f64 (/.f64 (pow.f64 (*.f64 b a) #s(literal 3 binary64)) (+.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (*.f64 (*.f64 t z) (-.f64 (*.f64 t z) (*.f64 b a))))) (/.f64 (pow.f64 (*.f64 t z) #s(literal 3 binary64)) (+.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (*.f64 (*.f64 t z) (-.f64 (*.f64 t z) (*.f64 b a))))))
(+.f64 (*.f64 t z) (*.f64 b a))
(+.f64 (*.f64 b a) (*.f64 (neg.f64 (neg.f64 t)) z))
(+.f64 (*.f64 b a) (*.f64 t z))
b
a
(*.f64 t z)
(*.f64 z t)
t
z
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 b a))
(*.f64 b a)
(*.f64 a b)
#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)
(*.f64 x y)
y
x
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 y x)))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (pow.f64 (*.f64 b a) #s(literal 2 binary64))) (-.f64 (*.f64 y x) (*.f64 b a)))
(/.f64 (-.f64 (pow.f64 (*.f64 b a) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 x) y) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 (*.f64 b a) (*.f64 (neg.f64 x) y)))))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (pow.f64 (*.f64 b a) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (*.f64 (*.f64 y x) (*.f64 b a)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))) (neg.f64 (fma.f64 b a (*.f64 (neg.f64 x) y))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 b a) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64)))) (neg.f64 (+.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (*.f64 (*.f64 y x) (-.f64 (*.f64 y x) (*.f64 b a))))))
(/.f64 (-.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (fma.f64 b a (*.f64 (neg.f64 x) y)))
(/.f64 (+.f64 (pow.f64 (*.f64 b a) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (*.f64 (*.f64 y x) (-.f64 (*.f64 y x) (*.f64 b a)))))
(fma.f64 b a (*.f64 (neg.f64 (neg.f64 x)) y))
(fma.f64 b a (*.f64 (neg.f64 (neg.f64 y)) x))
(fma.f64 b a (*.f64 y x))
(fma.f64 a b (*.f64 (neg.f64 (neg.f64 x)) y))
(fma.f64 a b (*.f64 (neg.f64 (neg.f64 y)) x))
(fma.f64 a b (*.f64 y x))
(fma.f64 y x (*.f64 b a))
(fma.f64 x y (*.f64 b a))
(-.f64 (/.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (fma.f64 b a (*.f64 (neg.f64 x) y))) (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (fma.f64 b a (*.f64 (neg.f64 x) y))))
(-.f64 (*.f64 b a) (*.f64 (neg.f64 x) y))
(-.f64 (*.f64 y x) (*.f64 (neg.f64 a) b))
(+.f64 (/.f64 (pow.f64 (*.f64 b a) #s(literal 3 binary64)) (+.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (*.f64 (*.f64 y x) (-.f64 (*.f64 y x) (*.f64 b a))))) (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (+.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (*.f64 (*.f64 y x) (-.f64 (*.f64 y x) (*.f64 b a))))))
(+.f64 (*.f64 b a) (*.f64 (neg.f64 (neg.f64 x)) y))
(+.f64 (*.f64 b a) (*.f64 (neg.f64 (neg.f64 y)) x))
(+.f64 (*.f64 b a) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 b a))
#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 (* y x) (*.f64 y x))
#s(approx x x)
#s(approx (+ (* b a) (* y x)) (*.f64 b a))
#s(approx (+ (* b a) (* y x)) (fma.f64 b a (*.f64 y 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 (+ (* b a) (* y x)) (*.f64 y x))
#s(approx (+ (* b a) (* y x)) (*.f64 (fma.f64 a (/.f64 b 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 (+ (* b a) (* y x)) (*.f64 (neg.f64 x) (neg.f64 (fma.f64 a (/.f64 b 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 (+ (* b a) (* y x)) (*.f64 (fma.f64 a (/.f64 b 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 (+ (* b a) (* y x)) (*.f64 (neg.f64 (fma.f64 a (/.f64 b y) x)) (neg.f64 y)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 y x)))
#s(approx (+ (* b a) (* t z)) (*.f64 b a))
#s(approx (+ (* b a) (* t z)) (fma.f64 b a (*.f64 t z)))
#s(approx (* t z) (*.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 (+ (* b a) (* t z)) (*.f64 t z))
#s(approx (+ (* b a) (* t z)) (*.f64 (fma.f64 a (/.f64 b 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 (+ (* b a) (* t z)) (*.f64 (neg.f64 z) (neg.f64 (fma.f64 a (/.f64 b 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 (+ (* b a) (* t z)) (*.f64 (fma.f64 a (/.f64 b 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 (+ (* 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)) (fma.f64 t z (*.f64 y x)))
#s(approx a a)
#s(approx (* b a) (*.f64 b 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 (+ (* b a) (* t z)) (*.f64 (fma.f64 t (/.f64 z a) b) a))
#s(approx (+ (* b a) (* y x)) (*.f64 (fma.f64 x (/.f64 y 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 a) (* t z)) (*.f64 (neg.f64 a) (neg.f64 (fma.f64 t (/.f64 z a) b))))
#s(approx (+ (* b a) (* y x)) (*.f64 (neg.f64 a) (neg.f64 (fma.f64 x (/.f64 y 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 (+ (* b a) (* t z)) (*.f64 (fma.f64 t (/.f64 z b) a) b))
#s(approx (+ (* b a) (* y x)) (*.f64 (fma.f64 x (/.f64 y 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)))
#s(approx (+ (* b a) (* t z)) (*.f64 (neg.f64 (fma.f64 t (/.f64 z b) a)) (neg.f64 b)))
#s(approx (+ (* b a) (* y x)) (*.f64 (neg.f64 (fma.f64 x (/.f64 y b) a)) (neg.f64 b)))

eval12.0ms (0.5%)

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

Compiled 3 000 to 363 computations (87.9% saved)

prune8.0ms (0.3%)

Memory
-30.3MiB live, 15.6MiB allocated; 4ms collecting garbage
Pruning

6 alts after pruning (1 fresh and 5 done)

PrunedKeptTotal
New1270127
Fresh011
Picked055
Done000
Total1276133
Accuracy
100.0%
Counts
133 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
65.8%
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 t z (*.f64 y x)))
64.3%
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 y x)))
71.9%
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 t z)))
30.7%
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 y x))
38.4%
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 t z))
37.9%
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 b a))
Compiler

Compiled 99 to 81 computations (18.2% saved)

series8.0ms (0.3%)

Memory
18.1MiB live, 18.1MiB allocated; 0ms collecting garbage
Counts
7 → 35
Calls
Call 1
Inputs
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (*.f64 y x))
t
z
(*.f64 y x)
y
x
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 (+ (* t z) (* y x)) #s(hole binary64 (* t z)))
#s(approx (+ (* t z) (* y x)) #s(hole binary64 (+ (* t z) (* x y))))
#s(approx (* y x) #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 (+ (* t z) (* y x)) #s(hole binary64 (* x y)))
#s(approx (+ (* t z) (* y x)) #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 (+ (* t z) (* y x)) #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 (+ (* t z) (* y x)) #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 (+ (* t z) (* y x)) #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 #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 (+ (* t z) (* y x)) #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 (+ (* t z) (* y x)) #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 (+ (* t z) (* y x)) #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 (+ (* t z) (* y x)) #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 (+ (+ (* 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 (+ (+ (* 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
1.0ms
y
@inf
((+ (+ (* x y) (* z t)) (* a b)) (+ (* t z) (* y x)) t z (* y x) y x)
1.0ms
x
@-inf
((+ (+ (* x y) (* z t)) (* a b)) (+ (* t z) (* y x)) t z (* y x) y x)
1.0ms
y
@-inf
((+ (+ (* x y) (* z t)) (* a b)) (+ (* t z) (* y x)) t z (* y x) y x)
1.0ms
x
@inf
((+ (+ (* x y) (* z t)) (* a b)) (+ (* t z) (* y x)) t z (* y x) y x)
1.0ms
t
@-inf
((+ (+ (* x y) (* z t)) (* a b)) (+ (* t z) (* y x)) t z (* y x) y x)

rewrite178.0ms (7.9%)

Memory
-11.7MiB live, 231.5MiB allocated; 29ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0147709
0149640
1936630
08522591
Stop Event
iter limit
node limit
iter limit
Counts
42 → 73
Calls
Call 1
Inputs
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (*.f64 y x))
t
z
(*.f64 y x)
y
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 (+ (* t z) (* y x)) #s(hole binary64 (* t z)))
#s(approx (+ (* t z) (* y x)) #s(hole binary64 (+ (* t z) (* x y))))
#s(approx (* y x) #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 (+ (* t z) (* y x)) #s(hole binary64 (* x y)))
#s(approx (+ (* t z) (* y x)) #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 (+ (* t z) (* y x)) #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 (+ (* t z) (* y x)) #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 (+ (* t z) (* y x)) #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 #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 (+ (* t z) (* y x)) #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 (+ (* t z) (* y x)) #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 (+ (* t z) (* y x)) #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 (+ (* t z) (* y x)) #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 (+ (+ (* 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 (+ (+ (* 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
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 t z (*.f64 y x)))
(/.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 y)) x))
(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 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 y)) x))
(+.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))
t
z
(*.f64 y x)
(*.f64 x y)
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 (fma.f64 t z (*.f64 y x))))
#s(approx (+ (* t z) (* y x)) (*.f64 t z))
#s(approx (+ (* t z) (* y x)) (fma.f64 t z (*.f64 y x)))
#s(approx (* y x) (*.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 (+ (* t z) (* y x)) (*.f64 y x))
#s(approx (+ (* t z) (* y x)) (*.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 (+ (* t z) (* y x)) (*.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 (+ (* t z) (* y x)) (*.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 (+ (* t z) (* y x)) (*.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 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 (+ (* t z) (* y x)) (*.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 (+ (* t z) (* y x)) (*.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 (+ (* t z) (* y x)) (*.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 (+ (* t z) (* y x)) (*.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 (+ (+ (* 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 (+ (+ (* 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)))

eval7.0ms (0.3%)

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

Compiled 1 849 to 248 computations (86.6% saved)

prune5.0ms (0.2%)

Memory
-34.6MiB live, 12.1MiB allocated; 3ms collecting garbage
Pruning

6 alts after pruning (0 fresh and 6 done)

PrunedKeptTotal
New72072
Fresh000
Picked011
Done055
Total72678
Accuracy
100.0%
Counts
78 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
65.8%
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 t z (*.f64 y x)))
64.3%
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 y x)))
71.9%
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 t z)))
30.7%
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 y x))
38.4%
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 t z))
37.9%
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 b a))
Compiler

Compiled 209 to 109 computations (47.8% saved)

regimes30.0ms (1.3%)

Memory
30.2MiB live, 77.4MiB allocated; 1ms collecting garbage
Counts
7 → 2
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)))
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
Outputs
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 b a))
Calls

11 calls:

3.0ms
y
3.0ms
x
3.0ms
b
3.0ms
a
3.0ms
z
Results
AccuracySegmentsBranch
98.4%2(*.f64 a b)
96.9%1(*.f64 z t)
96.9%1(*.f64 x y)
96.9%1(+.f64 (*.f64 x y) (*.f64 z t))
99.2%2(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
96.9%1x
96.9%1y
96.9%1z
96.9%1t
96.9%1a
96.9%1b
Compiler

Compiled 33 to 77 computations (-133.3% saved)

regimes55.0ms (2.4%)

Memory
-39.5MiB live, 66.8MiB allocated; 14ms 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 t z)))
#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 t z)))
Calls

11 calls:

30.0ms
(*.f64 x y)
4.0ms
(*.f64 a b)
2.0ms
b
2.0ms
a
2.0ms
t
Results
AccuracySegmentsBranch
88.7%3(*.f64 z t)
86.2%3(*.f64 x y)
86.3%4(+.f64 (*.f64 x y) (*.f64 z t))
85.8%3x
80.0%2y
86.7%4z
84.5%3t
87.2%3a
87.9%4b
90.5%3(*.f64 a b)
77.8%3(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
Compiler

Compiled 33 to 77 computations (-133.3% saved)

regimes4.0ms (0.2%)

Memory
8.4MiB live, 8.4MiB 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 z t)
2.0ms
(*.f64 a b)
Results
AccuracySegmentsBranch
88.3%3(*.f64 z t)
75.3%3(*.f64 a b)
Compiler

Compiled 6 to 14 computations (-133.3% saved)

regimes36.0ms (1.6%)

Memory
-12.8MiB live, 34.9MiB allocated; 1ms 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

8 calls:

23.0ms
t
2.0ms
x
2.0ms
b
2.0ms
a
2.0ms
z
Results
AccuracySegmentsBranch
71.9%1t
73.8%2(+.f64 (*.f64 x y) (*.f64 z t))
71.9%1z
79.1%3x
82.0%3(*.f64 x y)
71.9%1b
71.9%1a
71.9%1(*.f64 z t)
Compiler

Compiled 18 to 53 computations (-194.4% saved)

regimes20.0ms (0.9%)

Memory
5.4MiB live, 51.0MiB allocated; 3ms collecting garbage
Counts
3 → 4
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 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)) (*.f64 b a))
Calls

11 calls:

4.0ms
a
2.0ms
x
2.0ms
b
2.0ms
y
2.0ms
t
Results
AccuracySegmentsBranch
56.6%4t
59.1%3a
60.1%3(*.f64 z t)
61.8%5b
56.1%3z
66.0%4(*.f64 a b)
57.2%3(+.f64 (*.f64 x y) (*.f64 z t))
51.2%6(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
56.3%5x
55.3%6y
58.9%5(*.f64 x y)
Compiler

Compiled 33 to 77 computations (-133.3% saved)

regimes2.0ms (0.1%)

Memory
4.0MiB live, 4.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

1 calls:

1.0ms
(*.f64 a b)
Results
AccuracySegmentsBranch
63.5%3(*.f64 a b)
Compiler

Compiled 3 to 7 computations (-133.3% saved)

regimes14.0ms (0.6%)

Memory
-9.6MiB live, 36.5MiB allocated; 3ms 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 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
1.0ms
b
1.0ms
x
1.0ms
a
1.0ms
z
Results
AccuracySegmentsBranch
37.9%1(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
37.9%1y
37.9%1x
37.9%1t
37.9%1(*.f64 x y)
37.9%1z
37.9%1(+.f64 (*.f64 x y) (*.f64 z t))
37.9%1b
37.9%1a
37.9%1(*.f64 z t)
37.9%1(*.f64 a b)
Compiler

Compiled 33 to 77 computations (-133.3% saved)

bsearch0.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
+inf
NaN
Compiler

Compiled 14 to 20 computations (-42.9% saved)

bsearch1.0ms (0%)

Memory
1.1MiB live, 1.1MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
6.454884985505287e+28
2.1562285301546596e+35
0.0ms
-3.0347005054253974e+67
-3.2632944525246224e+61
Compiler

Compiled 14 to 20 computations (-42.9% saved)

bsearch0.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
269452690553.387
15450923180750.436
0.0ms
-3.440488152307692e+175
-1.3884114357901789e+175
Compiler

Compiled 14 to 20 computations (-42.9% saved)

bsearch1.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.3892269937959017e+218
7.47491581312232e+225
0.0ms
-6.73994851552989e+121
-6.852062219813067e+120
Compiler

Compiled 14 to 20 computations (-42.9% saved)

bsearch1.0ms (0%)

Memory
1.3MiB live, 1.3MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
6.454884985505287e+28
2.1562285301546596e+35
0.0ms
7.084380400374301e-95
3.3169131721581236e-86
0.0ms
-1.6531073235040907e+116
-1.906590278391848e+98
Compiler

Compiled 14 to 20 computations (-42.9% saved)

bsearch0.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.4666513171833147e+43
6.314222377056508e+43
0.0ms
-1.6531073235040907e+116
-1.906590278391848e+98
Compiler

Compiled 14 to 20 computations (-42.9% saved)

simplify17.0ms (0.7%)

Memory
38.0MiB live, 38.0MiB allocated; 0ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
060320
185320
2123320
3190320
4265320
5277320
6291320
7292320
Stop Event
saturated
Calls
Call 1
Inputs
(if (<=.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) #s(literal +inf.0 binary64)) (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 b a)))
(if (<=.f64 (*.f64 a b) #s(literal -19999999999999999654735515678371196634479565751161864557154294300672 binary64)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 t z))) (if (<=.f64 (*.f64 a b) #s(literal 99999999999999991433150857216 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 t z)))))
(if (<=.f64 (*.f64 z t) #s(literal -19999999999999998743069049246737528200546615119793746550412501356903849205370206764075153567638181693469097644589800066324224103680915737659228242480356123926769783926845079552 binary64)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 t z))) (if (<=.f64 (*.f64 z t) #s(literal 500000000000 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 -50000000000000000720297379362263692791555931121415631506856157467749463534563065813431628812863228040252718591648116768768 binary64)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 y x)) (if (<=.f64 (*.f64 x y) #s(literal 200000000000000016531517668251747580868252952853088870140921275623123251200204950421777121660801104008620977885871710627547264408583791539263482088984782477300371894320431629895715109375821874825666256654733483033231360 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 a b) #s(literal -100000000000000001555941612946684302426820139692106143336977058043083378116475570326498538991504744767620628086784000 binary64)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 b a)) (if (<=.f64 (*.f64 a b) #s(literal 3757668132438133/37576681324381331646231689548629392438010920782533117931316655544515344401833735095419183974156299248510959616 binary64)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 t z)) (if (<=.f64 (*.f64 a b) #s(literal 99999999999999991433150857216 binary64)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 y x)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 b a)))))
(if (<=.f64 (*.f64 a b) #s(literal -100000000000000001555941612946684302426820139692106143336977058043083378116475570326498538991504744767620628086784000 binary64)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 b a)) (if (<=.f64 (*.f64 a b) #s(literal 20000000000000000278744233918828198261424128 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
(if (<=.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) #s(literal +inf.0 binary64)) (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 b a)))
(if (<=.f64 (*.f64 a b) #s(literal -19999999999999999654735515678371196634479565751161864557154294300672 binary64)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 t z))) (if (<=.f64 (*.f64 a b) #s(literal 99999999999999991433150857216 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 t z)))))
(if (or (<=.f64 (*.f64 a b) #s(literal -19999999999999999654735515678371196634479565751161864557154294300672 binary64)) (not (<=.f64 (*.f64 a b) #s(literal 99999999999999991433150857216 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 t z (*.f64 y x))))
(if (<=.f64 (*.f64 z t) #s(literal -19999999999999998743069049246737528200546615119793746550412501356903849205370206764075153567638181693469097644589800066324224103680915737659228242480356123926769783926845079552 binary64)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 t z))) (if (<=.f64 (*.f64 z t) #s(literal 500000000000 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 -19999999999999998743069049246737528200546615119793746550412501356903849205370206764075153567638181693469097644589800066324224103680915737659228242480356123926769783926845079552 binary64)) (not (<=.f64 (*.f64 z t) #s(literal 500000000000 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 -50000000000000000720297379362263692791555931121415631506856157467749463534563065813431628812863228040252718591648116768768 binary64)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 y x)) (if (<=.f64 (*.f64 x y) #s(literal 200000000000000016531517668251747580868252952853088870140921275623123251200204950421777121660801104008620977885871710627547264408583791539263482088984782477300371894320431629895715109375821874825666256654733483033231360 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 -50000000000000000720297379362263692791555931121415631506856157467749463534563065813431628812863228040252718591648116768768 binary64)) (not (<=.f64 (*.f64 x y) #s(literal 200000000000000016531517668251747580868252952853088870140921275623123251200204950421777121660801104008620977885871710627547264408583791539263482088984782477300371894320431629895715109375821874825666256654733483033231360 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 a b) #s(literal -100000000000000001555941612946684302426820139692106143336977058043083378116475570326498538991504744767620628086784000 binary64)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 b a)) (if (<=.f64 (*.f64 a b) #s(literal 3757668132438133/37576681324381331646231689548629392438010920782533117931316655544515344401833735095419183974156299248510959616 binary64)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 t z)) (if (<=.f64 (*.f64 a b) #s(literal 99999999999999991433150857216 binary64)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 y x)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 b a)))))
(if (<=.f64 (*.f64 a b) #s(literal -100000000000000001555941612946684302426820139692106143336977058043083378116475570326498538991504744767620628086784000 binary64)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 b a)) (if (<=.f64 (*.f64 a b) #s(literal 20000000000000000278744233918828198261424128 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 -100000000000000001555941612946684302426820139692106143336977058043083378116475570326498538991504744767620628086784000 binary64)) (not (<=.f64 (*.f64 a b) #s(literal 20000000000000000278744233918828198261424128 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))

derivations206.0ms (9.1%)

Memory
-46.0MiB live, 244.9MiB allocated; 15ms collecting garbage
Stop Event
done
Compiler

Compiled 320 to 64 computations (80% saved)

preprocess55.0ms (2.4%)

Memory
43.1MiB live, 90.1MiB allocated; 3ms collecting garbage
Remove

(sort a b)

(sort z t)

(sort x y)

Compiler

Compiled 902 to 276 computations (69.4% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...