Graphics.Rendering.Chart.Drawing:drawTextsR from Chart-1.5.3

Time bar (total: 2.7s)

start0.0ms (0%)

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

analyze0.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated; 0ms collecting garbage
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
100%99.9%0%0.1%0%0%0%1
Compiler

Compiled 11 to 10 computations (9.1% saved)

sample949.0ms (34.9%)

Memory
35.0MiB live, 1 076.2MiB allocated; 174ms collecting garbage
Samples
702.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 400.0ms
ival-mult: 312.0ms (78.1% of total)
ival-sub: 42.0ms (10.5% of total)
ival-add: 36.0ms (9% of total)
exact: 6.0ms (1.5% of total)
ival-assert: 3.0ms (0.8% of total)
adjust: 2.0ms (0.5% of total)
Bogosity

explain122.0ms (4.5%)

Memory
-11.1MiB live, 136.2MiB allocated; 35ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
30-0-(+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
00-0-(*.f64 (-.f64 x #s(literal 1 binary64)) z)
00-0-y
00-0-(-.f64 x #s(literal 1 binary64))
00-0-#s(literal 1 binary64)
00-0-z
00-0-(*.f64 x y)
00-0-x
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
+.f64(+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z))nan-rescue30
(*.f64 x y)overflow22
(*.f64 (-.f64 x #s(literal 1 binary64)) z)overflow22
Confusion
Predicted +Predicted -
+30
-0253
Precision
1.0
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+300
-00253
Precision?
1.0
Recall?
1.0
Freqs
test
numberfreq
0253
13
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
60.0ms512×0valid
Compiler

Compiled 61 to 28 computations (54.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 45.0ms
ival-mult: 39.0ms (86.3% of total)
ival-sub: 3.0ms (6.6% of total)
ival-add: 2.0ms (4.4% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess274.0ms (10.1%)

Memory
-4.7MiB live, 174.2MiB allocated; 39ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03399
18393
216792
331692
438692
568292
6424491
7742791
089
0129
1209
2379
3669
41179
52949
620189
754499
086168
Stop Event
iter limit
node limit
iter limit
node limit
Calls
Call 1
Inputs
(+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
Outputs
(+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
(fma.f64 z (-.f64 x #s(literal 1 binary64)) (*.f64 y x))
Compiler

Compiled 9 to 8 computations (11.1% saved)

eval0.0ms (0%)

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

Compiled 0 to 3 computations (-∞% saved)

prune0.0ms (0%)

Memory
0.6MiB live, 0.6MiB allocated; 0ms collecting garbage
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.8%
(+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
Compiler

Compiled 9 to 8 computations (11.1% saved)

series8.0ms (0.3%)

Memory
9.7MiB live, 9.7MiB allocated; 0ms collecting garbage
Counts
8 → 28
Calls
Call 1
Inputs
(+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
(*.f64 x y)
x
y
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(-.f64 x #s(literal 1 binary64))
#s(literal 1 binary64)
z
Outputs
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* -1 z)))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (+ (* -1 z) (* x (+ y z)))))
#s(approx (* x y) #s(hole binary64 (* x y)))
#s(approx x #s(hole binary64 x))
#s(approx (* (- x 1) z) #s(hole binary64 (* -1 z)))
#s(approx (* (- x 1) z) #s(hole binary64 (+ (* -1 z) (* x z))))
#s(approx (- x 1) #s(hole binary64 -1))
#s(approx (- x 1) #s(hole binary64 (- x 1)))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* x (+ y z))))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* x (+ y (+ z (* -1 (/ z x)))))))
#s(approx (* (- x 1) z) #s(hole binary64 (* x z)))
#s(approx (* (- x 1) z) #s(hole binary64 (* x (+ z (* -1 (/ z x))))))
#s(approx (- x 1) #s(hole binary64 x))
#s(approx (- x 1) #s(hole binary64 (* x (- 1 (/ 1 x)))))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1 z))))))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))))
#s(approx (* (- x 1) z) #s(hole binary64 (* -1 (* x (+ (* -1 z) (/ z x))))))
#s(approx (- x 1) #s(hole binary64 (* -1 (* x (- (/ 1 x) 1)))))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* z (- x 1))))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (+ (* x y) (* z (- x 1)))))
#s(approx y #s(hole binary64 y))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* x y)))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* y (+ x (/ (* z (- x 1)) y)))))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))))
#s(approx (* (- x 1) z) #s(hole binary64 (* z (- x 1))))
#s(approx z #s(hole binary64 z))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* z (- (+ x (/ (* x y) z)) 1))))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))))
Calls

9 calls:

TimeVariablePointExpression
1.0ms
x
@-inf
((+ (* x y) (* (- x 1) z)) (* x y) x y (* (- x 1) z) (- x 1) 1 z)
1.0ms
y
@-inf
((+ (* x y) (* (- x 1) z)) (* x y) x y (* (- x 1) z) (- x 1) 1 z)
1.0ms
x
@inf
((+ (* x y) (* (- x 1) z)) (* x y) x y (* (- x 1) z) (- x 1) 1 z)
1.0ms
z
@-inf
((+ (* x y) (* (- x 1) z)) (* x y) x y (* (- x 1) z) (- x 1) 1 z)
1.0ms
z
@inf
((+ (* x y) (* (- x 1) z)) (* x y) x y (* (- x 1) z) (- x 1) 1 z)

rewrite213.0ms (7.8%)

Memory
30.1MiB live, 262.1MiB allocated; 48ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
088412
093389
1447352
23680352
010561347
Stop Event
iter limit
node limit
iter limit
Counts
36 → 113
Calls
Call 1
Inputs
(+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
(*.f64 x y)
x
y
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(-.f64 x #s(literal 1 binary64))
#s(literal 1 binary64)
z
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* -1 z)))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (+ (* -1 z) (* x (+ y z)))))
#s(approx (* x y) #s(hole binary64 (* x y)))
#s(approx x #s(hole binary64 x))
#s(approx (* (- x 1) z) #s(hole binary64 (* -1 z)))
#s(approx (* (- x 1) z) #s(hole binary64 (+ (* -1 z) (* x z))))
#s(approx (- x 1) #s(hole binary64 -1))
#s(approx (- x 1) #s(hole binary64 (- x 1)))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* x (+ y z))))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* x (+ y (+ z (* -1 (/ z x)))))))
#s(approx (* (- x 1) z) #s(hole binary64 (* x z)))
#s(approx (* (- x 1) z) #s(hole binary64 (* x (+ z (* -1 (/ z x))))))
#s(approx (- x 1) #s(hole binary64 x))
#s(approx (- x 1) #s(hole binary64 (* x (- 1 (/ 1 x)))))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1 z))))))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))))
#s(approx (* (- x 1) z) #s(hole binary64 (* -1 (* x (+ (* -1 z) (/ z x))))))
#s(approx (- x 1) #s(hole binary64 (* -1 (* x (- (/ 1 x) 1)))))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* z (- x 1))))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (+ (* x y) (* z (- x 1)))))
#s(approx y #s(hole binary64 y))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* x y)))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* y (+ x (/ (* z (- x 1)) y)))))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))))
#s(approx (* (- x 1) z) #s(hole binary64 (* z (- x 1))))
#s(approx z #s(hole binary64 z))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* z (- (+ x (/ (* x y) z)) 1))))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))))
Outputs
(/.f64 (fma.f64 (pow.f64 z #s(literal 3 binary64)) (fma.f64 (*.f64 (+.f64 z y) x) (-.f64 (*.f64 (+.f64 z y) x) (neg.f64 z)) (*.f64 z z)) (*.f64 (fma.f64 (*.f64 (+.f64 z y) x) (-.f64 (*.f64 (+.f64 z y) x) (neg.f64 z)) (*.f64 z z)) (pow.f64 (*.f64 (+.f64 z y) x) #s(literal 3 binary64)))) (*.f64 (fma.f64 (*.f64 (+.f64 z y) x) (-.f64 (*.f64 (+.f64 z y) x) (neg.f64 z)) (*.f64 z z)) (fma.f64 (*.f64 (+.f64 z y) x) (-.f64 (*.f64 (+.f64 z y) x) (neg.f64 z)) (*.f64 z z))))
(/.f64 (fma.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (fma.f64 (*.f64 (-.f64 x #s(literal 1 binary64)) z) (-.f64 (*.f64 (-.f64 x #s(literal 1 binary64)) z) (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (*.f64 (fma.f64 (*.f64 (-.f64 x #s(literal 1 binary64)) z) (-.f64 (*.f64 (-.f64 x #s(literal 1 binary64)) z) (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (pow.f64 (*.f64 (-.f64 x #s(literal 1 binary64)) z) #s(literal 3 binary64)))) (*.f64 (fma.f64 (*.f64 (-.f64 x #s(literal 1 binary64)) z) (-.f64 (*.f64 (-.f64 x #s(literal 1 binary64)) z) (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (fma.f64 (*.f64 (-.f64 x #s(literal 1 binary64)) z) (-.f64 (*.f64 (-.f64 x #s(literal 1 binary64)) z) (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (+.f64 z y) x) #s(literal 2 binary64)) (*.f64 z z)) (-.f64 (*.f64 (+.f64 z y) x) (neg.f64 z)))
(/.f64 (-.f64 (pow.f64 (*.f64 (-.f64 x #s(literal 1 binary64)) z) #s(literal 2 binary64)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (-.f64 (*.f64 (-.f64 x #s(literal 1 binary64)) z) (*.f64 y x)))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (pow.f64 (*.f64 (-.f64 x #s(literal 1 binary64)) z) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 (-.f64 x #s(literal 1 binary64)) z) #s(literal 2 binary64)) (*.f64 (*.f64 y x) (*.f64 (neg.f64 (-.f64 x #s(literal 1 binary64))) z)))))
(/.f64 (-.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 (*.f64 (+.f64 z y) x) #s(literal 3 binary64))) (fma.f64 z z (+.f64 (pow.f64 (*.f64 (+.f64 z y) x) #s(literal 2 binary64)) (*.f64 (neg.f64 z) (*.f64 (-.f64 (neg.f64 y) z) x)))))
(/.f64 (neg.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 (+.f64 z y) x) #s(literal 2 binary64)))) (neg.f64 (-.f64 (neg.f64 z) (*.f64 (+.f64 z y) x))))
(/.f64 (neg.f64 (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 (*.f64 (+.f64 z y) x) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 (+.f64 z y) x) (-.f64 (*.f64 (+.f64 z y) x) (neg.f64 z)) (*.f64 z z))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (pow.f64 (*.f64 (-.f64 x #s(literal 1 binary64)) z) #s(literal 2 binary64)))) (neg.f64 (fma.f64 y x (*.f64 (neg.f64 (-.f64 x #s(literal 1 binary64))) z))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (-.f64 x #s(literal 1 binary64)) z) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 (-.f64 x #s(literal 1 binary64)) z) (-.f64 (*.f64 (-.f64 x #s(literal 1 binary64)) z) (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (pow.f64 (*.f64 (-.f64 x #s(literal 1 binary64)) z) #s(literal 2 binary64))) (fma.f64 y x (*.f64 (neg.f64 (-.f64 x #s(literal 1 binary64))) z)))
(/.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 (+.f64 z y) x) #s(literal 2 binary64))) (-.f64 (neg.f64 z) (*.f64 (+.f64 z y) x)))
(/.f64 (+.f64 (pow.f64 (*.f64 (-.f64 x #s(literal 1 binary64)) z) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (-.f64 x #s(literal 1 binary64)) z) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 y x) z) (-.f64 x #s(literal 1 binary64))))))
(/.f64 (+.f64 (pow.f64 (*.f64 (-.f64 x #s(literal 1 binary64)) z) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (fma.f64 (*.f64 (-.f64 x #s(literal 1 binary64)) z) (-.f64 (*.f64 (-.f64 x #s(literal 1 binary64)) z) (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))))
(/.f64 (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 (*.f64 (+.f64 z y) x) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (+.f64 z y) x) #s(literal 2 binary64)) (-.f64 (*.f64 z z) (*.f64 (*.f64 (neg.f64 x) z) (+.f64 z y)))))
(/.f64 (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 (*.f64 (+.f64 z y) x) #s(literal 3 binary64))) (fma.f64 (*.f64 (+.f64 z y) x) (-.f64 (*.f64 (+.f64 z y) x) (neg.f64 z)) (*.f64 z z)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(fma.f64 #s(literal -1 binary64) z (*.f64 (+.f64 z y) x))
(fma.f64 (-.f64 x #s(literal 1 binary64)) z (*.f64 y x))
(fma.f64 z (-.f64 #s(literal -1 binary64) (neg.f64 x)) (*.f64 y x))
(fma.f64 z #s(literal -1 binary64) (*.f64 (+.f64 z y) x))
(fma.f64 z (-.f64 x #s(literal 1 binary64)) (*.f64 y x))
(fma.f64 y x (*.f64 (neg.f64 (neg.f64 (-.f64 x #s(literal 1 binary64)))) z))
(fma.f64 y x (*.f64 (-.f64 x #s(literal 1 binary64)) z))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(fma.f64 x y (*.f64 (neg.f64 (neg.f64 (-.f64 x #s(literal 1 binary64)))) z))
(fma.f64 x y (*.f64 (-.f64 x #s(literal 1 binary64)) z))
(-.f64 (/.f64 (*.f64 z z) (-.f64 (neg.f64 z) (*.f64 (+.f64 z y) x))) (/.f64 (pow.f64 (*.f64 (+.f64 z y) x) #s(literal 2 binary64)) (-.f64 (neg.f64 z) (*.f64 (+.f64 z y) x))))
(-.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (fma.f64 y x (*.f64 (neg.f64 (-.f64 x #s(literal 1 binary64))) z))) (/.f64 (pow.f64 (*.f64 (-.f64 x #s(literal 1 binary64)) z) #s(literal 2 binary64)) (fma.f64 y x (*.f64 (neg.f64 (-.f64 x #s(literal 1 binary64))) z))))
(-.f64 (*.f64 (+.f64 z y) x) (*.f64 (neg.f64 z) #s(literal -1 binary64)))
(-.f64 (*.f64 (+.f64 z y) x) z)
(-.f64 (neg.f64 z) (*.f64 (-.f64 (neg.f64 y) z) x))
(-.f64 (*.f64 (-.f64 x #s(literal 1 binary64)) z) (*.f64 (neg.f64 x) y))
(-.f64 (*.f64 y x) (*.f64 (neg.f64 (-.f64 x #s(literal 1 binary64))) z))
(+.f64 (/.f64 (pow.f64 z #s(literal 3 binary64)) (fma.f64 (*.f64 (+.f64 z y) x) (-.f64 (*.f64 (+.f64 z y) x) (neg.f64 z)) (*.f64 z z))) (/.f64 (pow.f64 (*.f64 (+.f64 z y) x) #s(literal 3 binary64)) (fma.f64 (*.f64 (+.f64 z y) x) (-.f64 (*.f64 (+.f64 z y) x) (neg.f64 z)) (*.f64 z z))))
(+.f64 (fma.f64 #s(literal -1 binary64) z (*.f64 y x)) (*.f64 z x))
(+.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (fma.f64 (*.f64 (-.f64 x #s(literal 1 binary64)) z) (-.f64 (*.f64 (-.f64 x #s(literal 1 binary64)) z) (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 (-.f64 x #s(literal 1 binary64)) z) #s(literal 3 binary64)) (fma.f64 (*.f64 (-.f64 x #s(literal 1 binary64)) z) (-.f64 (*.f64 (-.f64 x #s(literal 1 binary64)) z) (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))))
(+.f64 (*.f64 (+.f64 z y) x) (neg.f64 z))
(+.f64 (neg.f64 z) (*.f64 (+.f64 z y) x))
(+.f64 (*.f64 (-.f64 x #s(literal 1 binary64)) z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 (neg.f64 (neg.f64 (-.f64 x #s(literal 1 binary64)))) z))
(+.f64 (*.f64 y x) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
(*.f64 y x)
(*.f64 x y)
x
y
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(*.f64 z (-.f64 #s(literal -1 binary64) (neg.f64 x)))
(*.f64 z (-.f64 x #s(literal 1 binary64)))
(/.f64 (fma.f64 (pow.f64 z #s(literal 3 binary64)) (fma.f64 (*.f64 z x) (-.f64 (*.f64 z x) (neg.f64 z)) (*.f64 z z)) (*.f64 (fma.f64 (*.f64 z x) (-.f64 (*.f64 z x) (neg.f64 z)) (*.f64 z z)) (pow.f64 (*.f64 z x) #s(literal 3 binary64)))) (*.f64 (fma.f64 (*.f64 z x) (-.f64 (*.f64 z x) (neg.f64 z)) (*.f64 z z)) (fma.f64 (*.f64 z x) (-.f64 (*.f64 z x) (neg.f64 z)) (*.f64 z z))))
(/.f64 (*.f64 z (fma.f64 x x #s(literal -1 binary64))) (-.f64 x #s(literal -1 binary64)))
(/.f64 (*.f64 z (-.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1 binary64))) (fma.f64 x x (-.f64 x #s(literal -1 binary64))))
(/.f64 (-.f64 (pow.f64 (*.f64 z x) #s(literal 2 binary64)) (*.f64 z z)) (-.f64 (*.f64 z x) (neg.f64 z)))
(/.f64 (-.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 (*.f64 z x) #s(literal 3 binary64))) (fma.f64 z z (+.f64 (pow.f64 (*.f64 z x) #s(literal 2 binary64)) (*.f64 (neg.f64 z) (*.f64 (neg.f64 x) z)))))
(/.f64 (neg.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 z x) #s(literal 2 binary64)))) (neg.f64 (*.f64 z (-.f64 #s(literal -1 binary64) x))))
(/.f64 (neg.f64 (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 (*.f64 z x) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 z x) (-.f64 (*.f64 z x) (neg.f64 z)) (*.f64 z z))))
(/.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) z) (-.f64 x #s(literal -1 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1 binary64)) z) (fma.f64 x x (-.f64 x #s(literal -1 binary64))))
(/.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 z x) #s(literal 2 binary64))) (*.f64 z (-.f64 #s(literal -1 binary64) x)))
(/.f64 (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 (*.f64 z x) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 z x) #s(literal 2 binary64)) (-.f64 (*.f64 z z) (*.f64 (*.f64 (neg.f64 z) z) x))))
(/.f64 (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 (*.f64 z x) #s(literal 3 binary64))) (fma.f64 (*.f64 z x) (-.f64 (*.f64 z x) (neg.f64 z)) (*.f64 z z)))
(fma.f64 #s(literal -1 binary64) z (*.f64 z x))
(fma.f64 z #s(literal -1 binary64) (*.f64 z x))
(fma.f64 z x (neg.f64 z))
(fma.f64 x z (neg.f64 z))
(-.f64 (/.f64 (*.f64 z z) (*.f64 z (-.f64 #s(literal -1 binary64) x))) (/.f64 (pow.f64 (*.f64 z x) #s(literal 2 binary64)) (*.f64 z (-.f64 #s(literal -1 binary64) x))))
(-.f64 (*.f64 z x) (*.f64 (neg.f64 z) #s(literal -1 binary64)))
(-.f64 (*.f64 z x) z)
(-.f64 (neg.f64 z) (*.f64 (neg.f64 x) z))
(+.f64 (/.f64 (pow.f64 z #s(literal 3 binary64)) (fma.f64 (*.f64 z x) (-.f64 (*.f64 z x) (neg.f64 z)) (*.f64 z z))) (/.f64 (pow.f64 (*.f64 z x) #s(literal 3 binary64)) (fma.f64 (*.f64 z x) (-.f64 (*.f64 z x) (neg.f64 z)) (*.f64 z z))))
(+.f64 (*.f64 z x) (neg.f64 z))
(+.f64 (neg.f64 z) (*.f64 z x))
(/.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)) (-.f64 #s(literal -1 binary64) x))
(/.f64 (+.f64 #s(literal -1 binary64) (pow.f64 x #s(literal 3 binary64))) (+.f64 #s(literal 1 binary64) (-.f64 (*.f64 x x) (neg.f64 x))))
(/.f64 (neg.f64 (fma.f64 x x #s(literal -1 binary64))) (neg.f64 (-.f64 x #s(literal -1 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1 binary64))) (neg.f64 (fma.f64 x x (-.f64 x #s(literal -1 binary64)))))
(/.f64 (fma.f64 x x #s(literal -1 binary64)) (-.f64 x #s(literal -1 binary64)))
(/.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1 binary64)) (fma.f64 x x (-.f64 x #s(literal -1 binary64))))
(-.f64 (/.f64 (*.f64 x x) (-.f64 x #s(literal -1 binary64))) (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal -1 binary64)))
(-.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x (-.f64 x #s(literal -1 binary64)))) (pow.f64 (fma.f64 x x (-.f64 x #s(literal -1 binary64))) #s(literal -1 binary64)))
(-.f64 x #s(literal 1 binary64))
(+.f64 #s(literal -1 binary64) x)
(+.f64 x #s(literal -1 binary64))
#s(literal 1 binary64)
z
#s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z))
#s(approx (+ (* x y) (* (- x 1) z)) (fma.f64 (+.f64 z y) x (neg.f64 z)))
#s(approx (* x y) (*.f64 y x))
#s(approx x x)
#s(approx (* (- x 1) z) (neg.f64 z))
#s(approx (* (- x 1) z) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
#s(approx (- x 1) #s(literal -1 binary64))
#s(approx (- x 1) (-.f64 x #s(literal 1 binary64)))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (+.f64 z y) x))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (-.f64 (+.f64 z y) (/.f64 z x)) x))
#s(approx (* (- x 1) z) (*.f64 z x))
#s(approx (* (- x 1) z) (*.f64 (-.f64 (/.f64 z x) z) x))
#s(approx (- x 1) x)
#s(approx (- x 1) (*.f64 (-.f64 #s(literal 1 binary64) (pow.f64 x #s(literal -1 binary64))) x))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (neg.f64 x) (-.f64 (neg.f64 y) z)))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (neg.f64 x) (fma.f64 (+.f64 z y) #s(literal -1 binary64) (/.f64 z x))))
#s(approx (* (- x 1) z) (*.f64 (neg.f64 x) (-.f64 (/.f64 z x) z)))
#s(approx (- x 1) (*.f64 (neg.f64 x) (expm1.f64 (neg.f64 (log.f64 x)))))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
#s(approx (+ (* x y) (* (- x 1) z)) (fma.f64 (+.f64 z y) x (neg.f64 z)))
#s(approx y y)
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 y x))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (fma.f64 (/.f64 (-.f64 x #s(literal 1 binary64)) y) z x) y))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (neg.f64 (fma.f64 (/.f64 (-.f64 x #s(literal 1 binary64)) y) z x)) (neg.f64 y)))
#s(approx (* (- x 1) z) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
#s(approx z z)
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (fma.f64 (/.f64 y z) x (-.f64 x #s(literal 1 binary64))) z))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (neg.f64 (fma.f64 (/.f64 y z) x (-.f64 x #s(literal 1 binary64)))) (neg.f64 z)))

eval56.0ms (2.1%)

Memory
-24.2MiB live, 29.7MiB allocated; 62ms collecting garbage
Compiler

Compiled 2 079 to 340 computations (83.6% saved)

prune5.0ms (0.2%)

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

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New1067113
Fresh000
Picked101
Done000
Total1077114
Accuracy
100.0%
Counts
114 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 (+.f64 z y) x (neg.f64 z))
63.4%
(+.f64 (*.f64 x y) (*.f64 #s(approx (- x 1) x) z))
76.9%
(+.f64 (*.f64 x y) #s(approx (* (- x 1) z) (neg.f64 z)))
60.2%
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
64.6%
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (+.f64 z y) x))
42.5%
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 y x))
36.6%
#s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z))
Compiler

Compiled 170 to 136 computations (20% saved)

series15.0ms (0.5%)

Memory
-26.7MiB live, 23.0MiB allocated; 10ms collecting garbage
Counts
15 → 59
Calls
Call 1
Inputs
(fma.f64 (+.f64 z y) x (neg.f64 z))
(+.f64 z y)
z
y
x
(neg.f64 z)
#s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 y x))
(*.f64 y x)
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (+.f64 z y) x))
(*.f64 (+.f64 z y) x)
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(-.f64 x #s(literal 1 binary64))
#s(literal 1 binary64)
Outputs
#s(approx (+ (* (+ z y) x) (neg z)) #s(hole binary64 (* -1 z)))
#s(approx (+ (* (+ z y) x) (neg z)) #s(hole binary64 (- (* x (+ y z)) z)))
#s(approx x #s(hole binary64 x))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* -1 z)))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (+ (* -1 z) (* x (+ y z)))))
#s(approx (* y x) #s(hole binary64 (* x y)))
#s(approx (* (+ z y) x) #s(hole binary64 (* x (+ y z))))
#s(approx (* (- x 1) z) #s(hole binary64 (* -1 z)))
#s(approx (* (- x 1) z) #s(hole binary64 (+ (* -1 z) (* x z))))
#s(approx (- x 1) #s(hole binary64 -1))
#s(approx (- x 1) #s(hole binary64 (- x 1)))
#s(approx (+ (* (+ z y) x) (neg z)) #s(hole binary64 (* x (+ y z))))
#s(approx (+ (* (+ z y) x) (neg z)) #s(hole binary64 (* x (+ y (+ z (* -1 (/ z x)))))))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* x (+ y z))))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* x (+ y (+ z (* -1 (/ z x)))))))
#s(approx (* (- x 1) z) #s(hole binary64 (* x z)))
#s(approx (* (- x 1) z) #s(hole binary64 (* x (+ z (* -1 (/ z x))))))
#s(approx (- x 1) #s(hole binary64 x))
#s(approx (- x 1) #s(hole binary64 (* x (- 1 (/ 1 x)))))
#s(approx (+ (* (+ z y) x) (neg z)) #s(hole binary64 (* -1 (* x (+ (* -1 (+ y z)) (/ z x))))))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1 z))))))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))))
#s(approx (* (- x 1) z) #s(hole binary64 (* -1 (* x (+ (* -1 z) (/ z x))))))
#s(approx (- x 1) #s(hole binary64 (* -1 (* x (- (/ 1 x) 1)))))
#s(approx (+ (* (+ z y) x) (neg z)) #s(hole binary64 (- (* x z) z)))
#s(approx (+ (* (+ z y) x) (neg z)) #s(hole binary64 (- (+ (* x y) (* x z)) z)))
#s(approx (+ z y) #s(hole binary64 z))
#s(approx (+ z y) #s(hole binary64 (+ y z)))
#s(approx y #s(hole binary64 y))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* z (- x 1))))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (+ (* x y) (* z (- x 1)))))
#s(approx (* (+ z y) x) #s(hole binary64 (* x z)))
#s(approx (* (+ z y) x) #s(hole binary64 (+ (* x y) (* x z))))
#s(approx (+ (* (+ z y) x) (neg z)) #s(hole binary64 (* x y)))
#s(approx (+ (* (+ z y) x) (neg z)) #s(hole binary64 (* y (- (+ x (/ (* x z) y)) (/ z y)))))
#s(approx (+ z y) #s(hole binary64 y))
#s(approx (+ z y) #s(hole binary64 (* y (+ 1 (/ z y)))))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* x y)))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* y (+ x (/ (* z (- x 1)) y)))))
#s(approx (* (+ z y) x) #s(hole binary64 (* x y)))
#s(approx (* (+ z y) x) #s(hole binary64 (* y (+ x (/ (* x z) y)))))
#s(approx (+ (* (+ z y) x) (neg z)) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ (- (* x z) z) y)))))))
#s(approx (+ z y) #s(hole binary64 (* -1 (* y (- (* -1 (/ z y)) 1)))))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))))
#s(approx (* (+ z y) x) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ (* x z) y)))))))
#s(approx (+ (* (+ z y) x) (neg z)) #s(hole binary64 (+ (* x y) (* z (- x 1)))))
#s(approx z #s(hole binary64 z))
#s(approx (neg z) #s(hole binary64 (* -1 z)))
#s(approx (* (- x 1) z) #s(hole binary64 (* z (- x 1))))
#s(approx (+ (* (+ z y) x) (neg z)) #s(hole binary64 (* z (- x 1))))
#s(approx (+ (* (+ z y) x) (neg z)) #s(hole binary64 (* z (- (+ x (/ (* x y) z)) 1))))
#s(approx (+ z y) #s(hole binary64 (* z (+ 1 (/ y z)))))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* z (- (+ x (/ (* x y) z)) 1))))
#s(approx (* (+ z y) x) #s(hole binary64 (* z (+ x (/ (* x y) z)))))
#s(approx (+ (* (+ z y) x) (neg z)) #s(hole binary64 (* -1 (* z (+ 1 (* -1 x))))))
#s(approx (+ (* (+ z y) x) (neg z)) #s(hole binary64 (* -1 (* z (+ 1 (+ (* -1 x) (* -1 (/ (* x y) z))))))))
#s(approx (+ z y) #s(hole binary64 (* -1 (* z (- (* -1 (/ y z)) 1)))))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))))
#s(approx (* (+ z y) x) #s(hole binary64 (* -1 (* z (+ (* -1 x) (* -1 (/ (* x y) z)))))))
Calls

9 calls:

TimeVariablePointExpression
5.0ms
x
@inf
((+ (* (+ z y) x) (neg z)) (+ z y) z y x (neg z) (+ (* x y) (* (- x 1) z)) (+ (* x y) (* (- x 1) z)) (* y x) (+ (* x y) (* (- x 1) z)) (* (+ z y) x) (+ (* x y) (* (- x 1) z)) (* (- x 1) z) (- x 1) 1)
2.0ms
z
@-inf
((+ (* (+ z y) x) (neg z)) (+ z y) z y x (neg z) (+ (* x y) (* (- x 1) z)) (+ (* x y) (* (- x 1) z)) (* y x) (+ (* x y) (* (- x 1) z)) (* (+ z y) x) (+ (* x y) (* (- x 1) z)) (* (- x 1) z) (- x 1) 1)
1.0ms
x
@-inf
((+ (* (+ z y) x) (neg z)) (+ z y) z y x (neg z) (+ (* x y) (* (- x 1) z)) (+ (* x y) (* (- x 1) z)) (* y x) (+ (* x y) (* (- x 1) z)) (* (+ z y) x) (+ (* x y) (* (- x 1) z)) (* (- x 1) z) (- x 1) 1)
1.0ms
y
@inf
((+ (* (+ z y) x) (neg z)) (+ z y) z y x (neg z) (+ (* x y) (* (- x 1) z)) (+ (* x y) (* (- x 1) z)) (* y x) (+ (* x y) (* (- x 1) z)) (* (+ z y) x) (+ (* x y) (* (- x 1) z)) (* (- x 1) z) (- x 1) 1)
1.0ms
y
@-inf
((+ (* (+ z y) x) (neg z)) (+ z y) z y x (neg z) (+ (* x y) (* (- x 1) z)) (+ (* x y) (* (- x 1) z)) (* y x) (+ (* x y) (* (- x 1) z)) (* (+ z y) x) (+ (* x y) (* (- x 1) z)) (* (- x 1) z) (- x 1) 1)

rewrite192.0ms (7%)

Memory
38.6MiB live, 219.8MiB allocated; 37ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0177921
0185854
1867810
27223810
08387798
Stop Event
iter limit
node limit
iter limit
Counts
74 → 208
Calls
Call 1
Inputs
(fma.f64 (+.f64 z y) x (neg.f64 z))
(+.f64 z y)
z
y
x
(neg.f64 z)
#s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 y x))
(*.f64 y x)
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (+.f64 z y) x))
(*.f64 (+.f64 z y) x)
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(-.f64 x #s(literal 1 binary64))
#s(literal 1 binary64)
#s(approx (+ (* (+ z y) x) (neg z)) #s(hole binary64 (* -1 z)))
#s(approx (+ (* (+ z y) x) (neg z)) #s(hole binary64 (- (* x (+ y z)) z)))
#s(approx x #s(hole binary64 x))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* -1 z)))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (+ (* -1 z) (* x (+ y z)))))
#s(approx (* y x) #s(hole binary64 (* x y)))
#s(approx (* (+ z y) x) #s(hole binary64 (* x (+ y z))))
#s(approx (* (- x 1) z) #s(hole binary64 (* -1 z)))
#s(approx (* (- x 1) z) #s(hole binary64 (+ (* -1 z) (* x z))))
#s(approx (- x 1) #s(hole binary64 -1))
#s(approx (- x 1) #s(hole binary64 (- x 1)))
#s(approx (+ (* (+ z y) x) (neg z)) #s(hole binary64 (* x (+ y z))))
#s(approx (+ (* (+ z y) x) (neg z)) #s(hole binary64 (* x (+ y (+ z (* -1 (/ z x)))))))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* x (+ y z))))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* x (+ y (+ z (* -1 (/ z x)))))))
#s(approx (* (- x 1) z) #s(hole binary64 (* x z)))
#s(approx (* (- x 1) z) #s(hole binary64 (* x (+ z (* -1 (/ z x))))))
#s(approx (- x 1) #s(hole binary64 x))
#s(approx (- x 1) #s(hole binary64 (* x (- 1 (/ 1 x)))))
#s(approx (+ (* (+ z y) x) (neg z)) #s(hole binary64 (* -1 (* x (+ (* -1 (+ y z)) (/ z x))))))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1 z))))))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))))
#s(approx (* (- x 1) z) #s(hole binary64 (* -1 (* x (+ (* -1 z) (/ z x))))))
#s(approx (- x 1) #s(hole binary64 (* -1 (* x (- (/ 1 x) 1)))))
#s(approx (+ (* (+ z y) x) (neg z)) #s(hole binary64 (- (* x z) z)))
#s(approx (+ (* (+ z y) x) (neg z)) #s(hole binary64 (- (+ (* x y) (* x z)) z)))
#s(approx (+ z y) #s(hole binary64 z))
#s(approx (+ z y) #s(hole binary64 (+ y z)))
#s(approx y #s(hole binary64 y))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* z (- x 1))))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (+ (* x y) (* z (- x 1)))))
#s(approx (* (+ z y) x) #s(hole binary64 (* x z)))
#s(approx (* (+ z y) x) #s(hole binary64 (+ (* x y) (* x z))))
#s(approx (+ (* (+ z y) x) (neg z)) #s(hole binary64 (* x y)))
#s(approx (+ (* (+ z y) x) (neg z)) #s(hole binary64 (* y (- (+ x (/ (* x z) y)) (/ z y)))))
#s(approx (+ z y) #s(hole binary64 y))
#s(approx (+ z y) #s(hole binary64 (* y (+ 1 (/ z y)))))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* x y)))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* y (+ x (/ (* z (- x 1)) y)))))
#s(approx (* (+ z y) x) #s(hole binary64 (* x y)))
#s(approx (* (+ z y) x) #s(hole binary64 (* y (+ x (/ (* x z) y)))))
#s(approx (+ (* (+ z y) x) (neg z)) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ (- (* x z) z) y)))))))
#s(approx (+ z y) #s(hole binary64 (* -1 (* y (- (* -1 (/ z y)) 1)))))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))))
#s(approx (* (+ z y) x) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ (* x z) y)))))))
#s(approx (+ (* (+ z y) x) (neg z)) #s(hole binary64 (+ (* x y) (* z (- x 1)))))
#s(approx z #s(hole binary64 z))
#s(approx (neg z) #s(hole binary64 (* -1 z)))
#s(approx (* (- x 1) z) #s(hole binary64 (* z (- x 1))))
#s(approx (+ (* (+ z y) x) (neg z)) #s(hole binary64 (* z (- x 1))))
#s(approx (+ (* (+ z y) x) (neg z)) #s(hole binary64 (* z (- (+ x (/ (* x y) z)) 1))))
#s(approx (+ z y) #s(hole binary64 (* z (+ 1 (/ y z)))))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* z (- (+ x (/ (* x y) z)) 1))))
#s(approx (* (+ z y) x) #s(hole binary64 (* z (+ x (/ (* x y) z)))))
#s(approx (+ (* (+ z y) x) (neg z)) #s(hole binary64 (* -1 (* z (+ 1 (* -1 x))))))
#s(approx (+ (* (+ z y) x) (neg z)) #s(hole binary64 (* -1 (* z (+ 1 (+ (* -1 x) (* -1 (/ (* x y) z))))))))
#s(approx (+ z y) #s(hole binary64 (* -1 (* z (- (* -1 (/ y z)) 1)))))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))))
#s(approx (* (+ z y) x) #s(hole binary64 (* -1 (* z (+ (* -1 x) (* -1 (/ (* x y) z)))))))
Outputs
(/.f64 (-.f64 (pow.f64 (*.f64 (-.f64 x #s(literal 1 binary64)) z) #s(literal 2 binary64)) (pow.f64 (*.f64 x y) #s(literal 2 binary64))) (-.f64 (*.f64 (-.f64 x #s(literal 1 binary64)) z) (*.f64 x y)))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) #s(literal 3 binary64)) (pow.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) z) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 x y) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 (-.f64 x #s(literal 1 binary64)) z) #s(literal 2 binary64)) (*.f64 (*.f64 x y) (*.f64 (-.f64 #s(literal 1 binary64) x) z)))))
(/.f64 (-.f64 (pow.f64 (neg.f64 z) #s(literal 3 binary64)) (pow.f64 (*.f64 (-.f64 (neg.f64 z) y) x) #s(literal 3 binary64))) (fma.f64 z z (+.f64 (pow.f64 (*.f64 (+.f64 y z) x) #s(literal 2 binary64)) (*.f64 (neg.f64 z) (*.f64 (-.f64 (neg.f64 z) y) x)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x y) #s(literal 2 binary64)) (pow.f64 (*.f64 (-.f64 x #s(literal 1 binary64)) z) #s(literal 2 binary64)))) (neg.f64 (fma.f64 x y (*.f64 (-.f64 #s(literal 1 binary64) x) z))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (-.f64 x #s(literal 1 binary64)) z) #s(literal 3 binary64)) (pow.f64 (*.f64 x y) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 (-.f64 x #s(literal 1 binary64)) z) (-.f64 (*.f64 (-.f64 x #s(literal 1 binary64)) z) (*.f64 x y)) (pow.f64 (*.f64 x y) #s(literal 2 binary64)))))
(/.f64 (neg.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 (+.f64 y z) x) #s(literal 2 binary64)))) (neg.f64 (-.f64 (neg.f64 z) (*.f64 (+.f64 y z) x))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (+.f64 y z) x) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 (+.f64 y z) x) (fma.f64 (+.f64 y z) x z) (*.f64 z z))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (+.f64 y z) x) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64)))) (neg.f64 (fma.f64 z (fma.f64 (+.f64 y z) x z) (pow.f64 (*.f64 (+.f64 y z) x) #s(literal 2 binary64)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (+.f64 y z) x) #s(literal 2 binary64)) (*.f64 z z))) (neg.f64 (fma.f64 (+.f64 y z) x z)))
(/.f64 (-.f64 (pow.f64 (*.f64 (+.f64 y z) x) #s(literal 2 binary64)) (*.f64 z z)) (fma.f64 (+.f64 y z) x z))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) #s(literal 2 binary64)) (pow.f64 (*.f64 (-.f64 x #s(literal 1 binary64)) z) #s(literal 2 binary64))) (fma.f64 x y (*.f64 (-.f64 #s(literal 1 binary64) x) z)))
(/.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 (+.f64 y z) x) #s(literal 2 binary64))) (-.f64 (neg.f64 z) (*.f64 (+.f64 y z) x)))
(/.f64 (+.f64 (pow.f64 (*.f64 (-.f64 x #s(literal 1 binary64)) z) #s(literal 3 binary64)) (pow.f64 (*.f64 x y) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (-.f64 x #s(literal 1 binary64)) z) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 x y) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 x y) z) (-.f64 x #s(literal 1 binary64))))))
(/.f64 (+.f64 (pow.f64 (*.f64 (-.f64 x #s(literal 1 binary64)) z) #s(literal 3 binary64)) (pow.f64 (*.f64 x y) #s(literal 3 binary64))) (fma.f64 (*.f64 (-.f64 x #s(literal 1 binary64)) z) (-.f64 (*.f64 (-.f64 x #s(literal 1 binary64)) z) (*.f64 x y)) (pow.f64 (*.f64 x y) #s(literal 2 binary64))))
(/.f64 (-.f64 (pow.f64 (*.f64 (+.f64 y z) x) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64))) (fma.f64 z (fma.f64 (+.f64 y z) x z) (pow.f64 (*.f64 (+.f64 y z) x) #s(literal 2 binary64))))
(/.f64 (-.f64 (pow.f64 (*.f64 (+.f64 y z) x) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64))) (fma.f64 (*.f64 (+.f64 y z) x) (fma.f64 (+.f64 y z) x z) (*.f64 z z)))
(fma.f64 #s(literal -1 binary64) z (*.f64 (+.f64 y z) x))
(fma.f64 (+.f64 y z) x (neg.f64 z))
(fma.f64 (-.f64 x #s(literal 1 binary64)) z (*.f64 x y))
(fma.f64 x (+.f64 y z) (neg.f64 z))
(fma.f64 x y (*.f64 (-.f64 #s(literal 1 binary64) x) (neg.f64 z)))
(fma.f64 x y (*.f64 (-.f64 x #s(literal 1 binary64)) z))
(fma.f64 x z (-.f64 (*.f64 x y) z))
(fma.f64 x z (fma.f64 x y (neg.f64 z)))
(fma.f64 y x (*.f64 (-.f64 #s(literal 1 binary64) x) (neg.f64 z)))
(fma.f64 y x (*.f64 (-.f64 x #s(literal 1 binary64)) z))
(fma.f64 z (-.f64 #s(literal -1 binary64) (neg.f64 x)) (*.f64 x y))
(fma.f64 z #s(literal -1 binary64) (*.f64 (+.f64 y z) x))
(fma.f64 z (-.f64 x #s(literal 1 binary64)) (*.f64 x y))
(fma.f64 z x (-.f64 (*.f64 x y) z))
(fma.f64 z x (fma.f64 x y (neg.f64 z)))
(-.f64 (fma.f64 #s(literal -1 binary64) z (*.f64 x y)) (*.f64 (neg.f64 x) z))
(-.f64 (/.f64 (pow.f64 (*.f64 x y) #s(literal 2 binary64)) (fma.f64 x y (*.f64 (-.f64 #s(literal 1 binary64) x) z))) (/.f64 (pow.f64 (*.f64 (-.f64 x #s(literal 1 binary64)) z) #s(literal 2 binary64)) (fma.f64 x y (*.f64 (-.f64 #s(literal 1 binary64) x) z))))
(-.f64 (/.f64 (pow.f64 (*.f64 (+.f64 y z) x) #s(literal 2 binary64)) (fma.f64 (+.f64 y z) x z)) (/.f64 (*.f64 z z) (fma.f64 (+.f64 y z) x z)))
(-.f64 (/.f64 (*.f64 z z) (-.f64 (neg.f64 z) (*.f64 (+.f64 y z) x))) (/.f64 (pow.f64 (*.f64 (+.f64 y z) x) #s(literal 2 binary64)) (-.f64 (neg.f64 z) (*.f64 (+.f64 y z) x))))
(-.f64 (/.f64 (pow.f64 (*.f64 (+.f64 y z) x) #s(literal 3 binary64)) (fma.f64 z (fma.f64 (+.f64 y z) x z) (pow.f64 (*.f64 (+.f64 y z) x) #s(literal 2 binary64)))) (/.f64 (pow.f64 z #s(literal 3 binary64)) (fma.f64 z (fma.f64 (+.f64 y z) x z) (pow.f64 (*.f64 (+.f64 y z) x) #s(literal 2 binary64)))))
(-.f64 (*.f64 (+.f64 y z) x) (*.f64 (neg.f64 z) #s(literal -1 binary64)))
(-.f64 (*.f64 (+.f64 y z) x) z)
(-.f64 (neg.f64 z) (*.f64 (-.f64 (neg.f64 z) y) x))
(-.f64 (*.f64 (-.f64 x #s(literal 1 binary64)) z) (*.f64 (neg.f64 x) y))
(-.f64 (*.f64 x y) (-.f64 (*.f64 (neg.f64 x) z) (neg.f64 z)))
(-.f64 (*.f64 x y) (*.f64 (-.f64 #s(literal 1 binary64) x) z))
(+.f64 (fma.f64 #s(literal -1 binary64) z (*.f64 x y)) (*.f64 x z))
(+.f64 (/.f64 (pow.f64 (*.f64 x y) #s(literal 3 binary64)) (fma.f64 (*.f64 (-.f64 x #s(literal 1 binary64)) z) (-.f64 (*.f64 (-.f64 x #s(literal 1 binary64)) z) (*.f64 x y)) (pow.f64 (*.f64 x y) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 (-.f64 x #s(literal 1 binary64)) z) #s(literal 3 binary64)) (fma.f64 (*.f64 (-.f64 x #s(literal 1 binary64)) z) (-.f64 (*.f64 (-.f64 x #s(literal 1 binary64)) z) (*.f64 x y)) (pow.f64 (*.f64 x y) #s(literal 2 binary64)))))
(+.f64 (/.f64 (pow.f64 (neg.f64 z) #s(literal 3 binary64)) (fma.f64 (*.f64 (+.f64 y z) x) (fma.f64 (+.f64 y z) x z) (*.f64 z z))) (/.f64 (pow.f64 (*.f64 (+.f64 y z) x) #s(literal 3 binary64)) (fma.f64 (*.f64 (+.f64 y z) x) (fma.f64 (+.f64 y z) x z) (*.f64 z z))))
(+.f64 (/.f64 (pow.f64 (*.f64 (+.f64 y z) x) #s(literal 3 binary64)) (fma.f64 z (fma.f64 (+.f64 y z) x z) (pow.f64 (*.f64 (+.f64 y z) x) #s(literal 2 binary64)))) (/.f64 (pow.f64 (neg.f64 z) #s(literal 3 binary64)) (fma.f64 z (fma.f64 (+.f64 y z) x z) (pow.f64 (*.f64 (+.f64 y z) x) #s(literal 2 binary64)))))
(+.f64 (*.f64 x z) (-.f64 (*.f64 x y) z))
(+.f64 (*.f64 x z) (fma.f64 x y (neg.f64 z)))
(+.f64 (*.f64 (+.f64 y z) x) (neg.f64 z))
(+.f64 (neg.f64 z) (*.f64 (+.f64 y z) x))
(+.f64 (*.f64 (-.f64 x #s(literal 1 binary64)) z) (*.f64 x y))
(+.f64 (*.f64 x y) (*.f64 (-.f64 #s(literal 1 binary64) x) (neg.f64 z)))
(+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
(/.f64 (neg.f64 (*.f64 (+.f64 y z) (-.f64 z y))) (neg.f64 (-.f64 z y)))
(/.f64 (neg.f64 (*.f64 (+.f64 y z) (-.f64 y z))) (neg.f64 (-.f64 y z)))
(/.f64 (neg.f64 (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64)))) (neg.f64 (fma.f64 y (-.f64 y z) (*.f64 z z))))
(/.f64 (neg.f64 (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64)))) (neg.f64 (fma.f64 z (-.f64 z y) (*.f64 y y))))
(/.f64 (*.f64 (+.f64 y z) (-.f64 z y)) (-.f64 z y))
(/.f64 (*.f64 (+.f64 y z) (-.f64 y z)) (-.f64 y z))
(/.f64 (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64))) (fma.f64 y (-.f64 y z) (*.f64 z z)))
(/.f64 (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64))) (fma.f64 z (-.f64 z y) (*.f64 y y)))
(-.f64 (/.f64 (*.f64 z z) (-.f64 z y)) (/.f64 (*.f64 y y) (-.f64 z y)))
(-.f64 (/.f64 (*.f64 y y) (-.f64 y z)) (/.f64 (*.f64 z z) (-.f64 y z)))
(+.f64 (/.f64 (pow.f64 z #s(literal 3 binary64)) (fma.f64 y (-.f64 y z) (*.f64 z z))) (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 y (-.f64 y z) (*.f64 z z))))
(+.f64 (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 z (-.f64 z y) (*.f64 y y))) (/.f64 (pow.f64 z #s(literal 3 binary64)) (fma.f64 z (-.f64 z y) (*.f64 y y))))
(+.f64 y z)
(+.f64 z y)
z
y
x
(*.f64 #s(literal -1 binary64) z)
(*.f64 z #s(literal -1 binary64))
(neg.f64 z)
#s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 x y))
(*.f64 x y)
(*.f64 y x)
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (+.f64 y z) x))
(*.f64 (+.f64 y z) x)
(*.f64 x (+.f64 y z))
(/.f64 (*.f64 x (*.f64 (+.f64 y z) (-.f64 z y))) (-.f64 z y))
(/.f64 (*.f64 x (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64)))) (fma.f64 y (-.f64 y z) (*.f64 z z)))
(/.f64 (*.f64 x (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64)))) (fma.f64 z (-.f64 z y) (*.f64 y y)))
(/.f64 (-.f64 (pow.f64 (*.f64 x z) #s(literal 2 binary64)) (pow.f64 (*.f64 x y) #s(literal 2 binary64))) (-.f64 (*.f64 x z) (*.f64 x y)))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 x) z) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 x y) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 x z) #s(literal 2 binary64)) (*.f64 (*.f64 x y) (*.f64 (neg.f64 x) z)))))
(/.f64 (neg.f64 (*.f64 (*.f64 (+.f64 y z) x) (*.f64 x (-.f64 y z)))) (neg.f64 (*.f64 x (-.f64 y z))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 x z) #s(literal 3 binary64)) (pow.f64 (*.f64 x y) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 x z) (-.f64 (*.f64 x z) (*.f64 x y)) (pow.f64 (*.f64 x y) #s(literal 2 binary64)))))
(/.f64 (*.f64 (*.f64 (+.f64 y z) (-.f64 z y)) x) (-.f64 z y))
(/.f64 (*.f64 (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64))) x) (fma.f64 y (-.f64 y z) (*.f64 z z)))
(/.f64 (*.f64 (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64))) x) (fma.f64 z (-.f64 z y) (*.f64 y y)))
(/.f64 (*.f64 (*.f64 (+.f64 y z) (-.f64 y z)) x) (-.f64 y z))
(/.f64 (*.f64 x (*.f64 (+.f64 y z) (-.f64 y z))) (-.f64 y z))
(/.f64 (*.f64 (*.f64 (+.f64 y z) x) (*.f64 x (-.f64 y z))) (*.f64 x (-.f64 y z)))
(/.f64 (+.f64 (pow.f64 (*.f64 x z) #s(literal 3 binary64)) (pow.f64 (*.f64 x y) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 x z) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 x y) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 x y) z) x))))
(/.f64 (+.f64 (pow.f64 (*.f64 x z) #s(literal 3 binary64)) (pow.f64 (*.f64 x y) #s(literal 3 binary64))) (fma.f64 (*.f64 x z) (-.f64 (*.f64 x z) (*.f64 x y)) (pow.f64 (*.f64 x y) #s(literal 2 binary64))))
(fma.f64 x y (*.f64 x z))
(fma.f64 x z (*.f64 x y))
(fma.f64 y x (*.f64 x z))
(fma.f64 z x (*.f64 x y))
(-.f64 (/.f64 (pow.f64 (*.f64 x y) #s(literal 2 binary64)) (*.f64 x (-.f64 y z))) (/.f64 (pow.f64 (*.f64 x z) #s(literal 2 binary64)) (*.f64 x (-.f64 y z))))
(-.f64 (*.f64 x z) (*.f64 (neg.f64 x) y))
(-.f64 (*.f64 x y) (*.f64 (neg.f64 x) z))
(+.f64 (/.f64 (pow.f64 (*.f64 x y) #s(literal 3 binary64)) (fma.f64 (*.f64 x z) (-.f64 (*.f64 x z) (*.f64 x y)) (pow.f64 (*.f64 x y) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 x z) #s(literal 3 binary64)) (fma.f64 (*.f64 x z) (-.f64 (*.f64 x z) (*.f64 x y)) (pow.f64 (*.f64 x y) #s(literal 2 binary64)))))
(+.f64 (*.f64 x z) (*.f64 x y))
(+.f64 (*.f64 x y) (*.f64 x z))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(*.f64 z (-.f64 #s(literal -1 binary64) (neg.f64 x)))
(*.f64 z (-.f64 x #s(literal 1 binary64)))
(/.f64 (*.f64 z (fma.f64 x x #s(literal -1 binary64))) (-.f64 x #s(literal -1 binary64)))
(/.f64 (*.f64 z (-.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1 binary64))) (fma.f64 x x (-.f64 x #s(literal -1 binary64))))
(/.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 x z) #s(literal 2 binary64))) (*.f64 z (-.f64 #s(literal -1 binary64) x)))
(/.f64 (-.f64 (pow.f64 (neg.f64 z) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 x) z) #s(literal 3 binary64))) (fma.f64 z z (+.f64 (pow.f64 (*.f64 x z) #s(literal 2 binary64)) (*.f64 (neg.f64 z) (*.f64 (neg.f64 x) z)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x z) #s(literal 2 binary64)) (*.f64 z z))) (neg.f64 (fma.f64 x z z)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x z) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64)))) (neg.f64 (fma.f64 z (fma.f64 x z z) (pow.f64 (*.f64 x z) #s(literal 2 binary64)))))
(/.f64 (neg.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 x z) #s(literal 2 binary64)))) (neg.f64 (*.f64 z (-.f64 #s(literal -1 binary64) x))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64) (pow.f64 (*.f64 x z) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 x z) (-.f64 (*.f64 x z) (neg.f64 z)) (*.f64 z z))))
(/.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) z) (-.f64 x #s(literal -1 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1 binary64)) z) (fma.f64 x x (-.f64 x #s(literal -1 binary64))))
(/.f64 (-.f64 (pow.f64 (*.f64 x z) #s(literal 2 binary64)) (*.f64 z z)) (-.f64 (*.f64 x z) (neg.f64 z)))
(/.f64 (-.f64 (pow.f64 (*.f64 x z) #s(literal 2 binary64)) (*.f64 z z)) (fma.f64 x z z))
(/.f64 (-.f64 (pow.f64 (*.f64 x z) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64))) (fma.f64 z (fma.f64 x z z) (pow.f64 (*.f64 x z) #s(literal 2 binary64))))
(/.f64 (fma.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64) (pow.f64 (*.f64 x z) #s(literal 3 binary64))) (fma.f64 (*.f64 x z) (-.f64 (*.f64 x z) (neg.f64 z)) (*.f64 z z)))
(/.f64 (fma.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64) (pow.f64 (*.f64 x z) #s(literal 3 binary64))) (fma.f64 z (fma.f64 x z z) (pow.f64 (*.f64 x z) #s(literal 2 binary64))))
(fma.f64 #s(literal -1 binary64) z (*.f64 x z))
(fma.f64 x z (neg.f64 z))
(fma.f64 z #s(literal -1 binary64) (*.f64 x z))
(fma.f64 z x (neg.f64 z))
(-.f64 (/.f64 (pow.f64 (*.f64 x z) #s(literal 2 binary64)) (fma.f64 x z z)) (/.f64 (*.f64 z z) (fma.f64 x z z)))
(-.f64 (/.f64 (pow.f64 (*.f64 x z) #s(literal 3 binary64)) (fma.f64 z (fma.f64 x z z) (pow.f64 (*.f64 x z) #s(literal 2 binary64)))) (/.f64 (pow.f64 z #s(literal 3 binary64)) (fma.f64 z (fma.f64 x z z) (pow.f64 (*.f64 x z) #s(literal 2 binary64)))))
(-.f64 (/.f64 (*.f64 z z) (*.f64 z (-.f64 #s(literal -1 binary64) x))) (/.f64 (pow.f64 (*.f64 x z) #s(literal 2 binary64)) (*.f64 z (-.f64 #s(literal -1 binary64) x))))
(-.f64 (*.f64 x z) (*.f64 (neg.f64 z) #s(literal -1 binary64)))
(-.f64 (*.f64 x z) z)
(-.f64 (neg.f64 z) (*.f64 (neg.f64 x) z))
(+.f64 (/.f64 (pow.f64 (neg.f64 z) #s(literal 3 binary64)) (fma.f64 (*.f64 x z) (-.f64 (*.f64 x z) (neg.f64 z)) (*.f64 z z))) (/.f64 (pow.f64 (*.f64 x z) #s(literal 3 binary64)) (fma.f64 (*.f64 x z) (-.f64 (*.f64 x z) (neg.f64 z)) (*.f64 z z))))
(+.f64 (*.f64 x z) (neg.f64 z))
(+.f64 (neg.f64 z) (*.f64 x z))
(/.f64 (+.f64 #s(literal -1 binary64) (pow.f64 x #s(literal 3 binary64))) (fma.f64 (neg.f64 x) (-.f64 (neg.f64 x) #s(literal 1 binary64)) #s(literal 1 binary64)))
(/.f64 (neg.f64 (fma.f64 x x #s(literal -1 binary64))) (neg.f64 (-.f64 x #s(literal -1 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1 binary64))) (neg.f64 (fma.f64 x x (-.f64 x #s(literal -1 binary64)))))
(/.f64 (fma.f64 x x #s(literal -1 binary64)) (-.f64 x #s(literal -1 binary64)))
(/.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)) (-.f64 #s(literal -1 binary64) x))
(/.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1 binary64)) (fma.f64 x x (-.f64 x #s(literal -1 binary64))))
(-.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x (-.f64 x #s(literal -1 binary64)))) (pow.f64 (fma.f64 x x (-.f64 x #s(literal -1 binary64))) #s(literal -1 binary64)))
(-.f64 (/.f64 (*.f64 x x) (-.f64 x #s(literal -1 binary64))) (pow.f64 (-.f64 x #s(literal -1 binary64)) #s(literal -1 binary64)))
(-.f64 x #s(literal 1 binary64))
(+.f64 #s(literal -1 binary64) x)
(+.f64 x #s(literal -1 binary64))
#s(literal 1 binary64)
#s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z))
#s(approx (+ (* x y) (* (- x 1) z)) (fma.f64 (+.f64 y z) x (neg.f64 z)))
#s(approx x x)
#s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z))
#s(approx (+ (* x y) (* (- x 1) z)) (fma.f64 (+.f64 y z) x (neg.f64 z)))
#s(approx (* y x) (*.f64 x y))
#s(approx (* (+ z y) x) (*.f64 (+.f64 y z) x))
#s(approx (* (- x 1) z) (neg.f64 z))
#s(approx (* (- x 1) z) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
#s(approx (- x 1) #s(literal -1 binary64))
#s(approx (- x 1) (-.f64 x #s(literal 1 binary64)))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (+.f64 y z) x))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (+.f64 (-.f64 z (/.f64 z x)) y) x))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (+.f64 y z) x))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (+.f64 (-.f64 z (/.f64 z x)) y) x))
#s(approx (* (- x 1) z) (*.f64 x z))
#s(approx (* (- x 1) z) (*.f64 (-.f64 z (/.f64 z x)) x))
#s(approx (- x 1) x)
#s(approx (- x 1) (*.f64 (-.f64 #s(literal 1 binary64) (pow.f64 x #s(literal -1 binary64))) x))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (neg.f64 x) (-.f64 (-.f64 (/.f64 z x) z) y)))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (neg.f64 x) (-.f64 (neg.f64 z) y)))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (neg.f64 x) (-.f64 (-.f64 (/.f64 z x) z) y)))
#s(approx (* (- x 1) z) (*.f64 (neg.f64 x) (-.f64 (/.f64 z x) z)))
#s(approx (- x 1) (*.f64 (neg.f64 x) (-.f64 (pow.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
#s(approx (+ (* x y) (* (- x 1) z)) (fma.f64 (+.f64 y z) x (neg.f64 z)))
#s(approx (+ z y) z)
#s(approx (+ z y) (+.f64 y z))
#s(approx y y)
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
#s(approx (+ (* x y) (* (- x 1) z)) (fma.f64 (+.f64 y z) x (neg.f64 z)))
#s(approx (* (+ z y) x) (*.f64 x z))
#s(approx (* (+ z y) x) (*.f64 (+.f64 y z) x))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 x y))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (fma.f64 (-.f64 x #s(literal 1 binary64)) (/.f64 z y) x) y))
#s(approx (+ z y) y)
#s(approx (+ z y) (fma.f64 (/.f64 z y) y y))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 x y))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (fma.f64 (-.f64 x #s(literal 1 binary64)) (/.f64 z y) x) y))
#s(approx (* (+ z y) x) (*.f64 x y))
#s(approx (* (+ z y) x) (*.f64 (fma.f64 (/.f64 z y) x x) y))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (neg.f64 (fma.f64 (-.f64 x #s(literal 1 binary64)) (/.f64 z y) x)) (neg.f64 y)))
#s(approx (+ z y) (*.f64 (fma.f64 (/.f64 z y) #s(literal -1 binary64) #s(literal -1 binary64)) (neg.f64 y)))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (neg.f64 (fma.f64 (-.f64 x #s(literal 1 binary64)) (/.f64 z y) x)) (neg.f64 y)))
#s(approx (* (+ z y) x) (*.f64 (neg.f64 (fma.f64 (/.f64 z y) x x)) (neg.f64 y)))
#s(approx (+ (* x y) (* (- x 1) z)) (fma.f64 (+.f64 y z) x (neg.f64 z)))
#s(approx z z)
#s(approx (neg z) (neg.f64 z))
#s(approx (* (- x 1) z) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (fma.f64 (/.f64 y z) x (-.f64 x #s(literal 1 binary64))) z))
#s(approx (+ z y) (fma.f64 (/.f64 y z) z z))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (fma.f64 (/.f64 y z) x (-.f64 x #s(literal 1 binary64))) z))
#s(approx (* (+ z y) x) (*.f64 (fma.f64 (/.f64 y z) x x) z))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (-.f64 #s(literal 1 binary64) x) (neg.f64 z)))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (/.f64 y z) x x)) (neg.f64 z)))
#s(approx (+ z y) (*.f64 (fma.f64 (/.f64 y z) #s(literal -1 binary64) #s(literal -1 binary64)) (neg.f64 z)))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (/.f64 y z) x x)) (neg.f64 z)))
#s(approx (* (+ z y) x) (*.f64 (fma.f64 (/.f64 y z) x x) z))

eval23.0ms (0.9%)

Memory
-12.2MiB live, 35.4MiB allocated; 2ms collecting garbage
Compiler

Compiled 4 555 to 605 computations (86.7% saved)

prune14.0ms (0.5%)

Memory
-27.1MiB live, 19.9MiB allocated; 3ms collecting garbage
Pruning

8 alts after pruning (4 fresh and 4 done)

PrunedKeptTotal
New2254229
Fresh202
Picked145
Done000
Total2288236
Accuracy
100.0%
Counts
236 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 (+.f64 z y) x (neg.f64 z))
60.2%
(fma.f64 #s(approx (+ z y) z) x (neg.f64 z))
76.9%
(fma.f64 #s(approx (+ z y) y) x (neg.f64 z))
63.8%
#s(approx (+ (* x y) (* (- x 1) z)) (fma.f64 z x (*.f64 x y)))
64.6%
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (+.f64 z y) x))
25.8%
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 #s(approx (- x 1) x) z))
42.5%
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 y x))
36.6%
#s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z))
Compiler

Compiled 98 to 73 computations (25.5% saved)

series9.0ms (0.3%)

Memory
11.8MiB live, 11.8MiB allocated; 0ms collecting garbage
Counts
14 → 60
Calls
Call 1
Inputs
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 #s(approx (- x 1) x) z))
(*.f64 #s(approx (- x 1) x) z)
#s(approx (- x 1) x)
x
z
#s(approx (+ (* x y) (* (- x 1) z)) (fma.f64 z x (*.f64 x y)))
(fma.f64 z x (*.f64 x y))
(*.f64 x y)
y
(fma.f64 #s(approx (+ z y) y) x (neg.f64 z))
#s(approx (+ z y) y)
(neg.f64 z)
(fma.f64 #s(approx (+ z y) z) x (neg.f64 z))
#s(approx (+ z y) z)
Outputs
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* -1 z)))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (+ (* -1 z) (* x (+ y z)))))
#s(approx (* (- x 1) z) #s(hole binary64 (* -1 z)))
#s(approx (* (- x 1) z) #s(hole binary64 (+ (* -1 z) (* x z))))
#s(approx (- x 1) #s(hole binary64 -1))
#s(approx (- x 1) #s(hole binary64 (- x 1)))
#s(approx x #s(hole binary64 x))
#s(approx (+ (* z x) (* x y)) #s(hole binary64 (* x (+ y z))))
#s(approx (* x y) #s(hole binary64 (* x y)))
#s(approx (+ (* (+ z y) x) (neg z)) #s(hole binary64 (* -1 z)))
#s(approx (+ (* (+ z y) x) (neg z)) #s(hole binary64 (- (* x (+ y z)) z)))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* x (+ y z))))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* x (+ y (+ z (* -1 (/ z x)))))))
#s(approx (* (- x 1) z) #s(hole binary64 (* x z)))
#s(approx (* (- x 1) z) #s(hole binary64 (* x (+ z (* -1 (/ z x))))))
#s(approx (- x 1) #s(hole binary64 x))
#s(approx (- x 1) #s(hole binary64 (* x (- 1 (/ 1 x)))))
#s(approx (+ (* (+ z y) x) (neg z)) #s(hole binary64 (* x (+ y z))))
#s(approx (+ (* (+ z y) x) (neg z)) #s(hole binary64 (* x (+ y (+ z (* -1 (/ z x)))))))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1 z))))))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))))
#s(approx (* (- x 1) z) #s(hole binary64 (* -1 (* x (+ (* -1 z) (/ z x))))))
#s(approx (- x 1) #s(hole binary64 (* -1 (* x (- (/ 1 x) 1)))))
#s(approx (+ (* z x) (* x y)) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1 z))))))
#s(approx (+ (* (+ z y) x) (neg z)) #s(hole binary64 (* -1 (* x (+ (* -1 (+ y z)) (/ z x))))))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* z (- x 1))))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (+ (* x y) (* z (- x 1)))))
#s(approx (+ (* z x) (* x y)) #s(hole binary64 (* x z)))
#s(approx (+ (* z x) (* x y)) #s(hole binary64 (+ (* x y) (* x z))))
#s(approx y #s(hole binary64 y))
#s(approx (+ (* (+ z y) x) (neg z)) #s(hole binary64 (- (* x z) z)))
#s(approx (+ (* (+ z y) x) (neg z)) #s(hole binary64 (- (+ (* x y) (* x z)) z)))
#s(approx (+ z y) #s(hole binary64 z))
#s(approx (+ z y) #s(hole binary64 (+ y z)))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* x y)))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* y (+ x (/ (* z (- x 1)) y)))))
#s(approx (+ (* z x) (* x y)) #s(hole binary64 (* x y)))
#s(approx (+ (* z x) (* x y)) #s(hole binary64 (* y (+ x (/ (* x z) y)))))
#s(approx (+ (* (+ z y) x) (neg z)) #s(hole binary64 (* x y)))
#s(approx (+ (* (+ z y) x) (neg z)) #s(hole binary64 (* y (- (+ x (/ (* x z) y)) (/ z y)))))
#s(approx (+ z y) #s(hole binary64 y))
#s(approx (+ z y) #s(hole binary64 (* y (+ 1 (/ z y)))))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))))
#s(approx (+ (* z x) (* x y)) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ (* x z) y)))))))
#s(approx (+ (* (+ z y) x) (neg z)) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ (- (* x z) z) y)))))))
#s(approx (+ z y) #s(hole binary64 (* -1 (* y (- (* -1 (/ z y)) 1)))))
#s(approx (* (- x 1) z) #s(hole binary64 (* z (- x 1))))
#s(approx z #s(hole binary64 z))
#s(approx (+ (* (+ z y) x) (neg z)) #s(hole binary64 (+ (* x y) (* z (- x 1)))))
#s(approx (neg z) #s(hole binary64 (* -1 z)))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* z (- (+ x (/ (* x y) z)) 1))))
#s(approx (+ (* z x) (* x y)) #s(hole binary64 (* z (+ x (/ (* x y) z)))))
#s(approx (+ (* (+ z y) x) (neg z)) #s(hole binary64 (* z (- x 1))))
#s(approx (+ (* (+ z y) x) (neg z)) #s(hole binary64 (* z (- (+ x (/ (* x y) z)) 1))))
#s(approx (+ z y) #s(hole binary64 (* z (+ 1 (/ y z)))))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))))
#s(approx (+ (* z x) (* x y)) #s(hole binary64 (* -1 (* z (+ (* -1 x) (* -1 (/ (* x y) z)))))))
#s(approx (+ (* (+ z y) x) (neg z)) #s(hole binary64 (* -1 (* z (+ 1 (* -1 x))))))
#s(approx (+ (* (+ z y) x) (neg z)) #s(hole binary64 (* -1 (* z (+ 1 (+ (* -1 x) (* -1 (/ (* x y) z))))))))
#s(approx (+ z y) #s(hole binary64 (* -1 (* z (- (* -1 (/ y z)) 1)))))
Calls

9 calls:

TimeVariablePointExpression
1.0ms
x
@-inf
((+ (* x y) (* (- x 1) z)) (* (- x 1) z) (- x 1) x z (+ (* x y) (* (- x 1) z)) (+ (* z x) (* x y)) (* x y) y (+ (* (+ z y) x) (neg z)) (+ z y) (neg z) (+ (* (+ z y) x) (neg z)) (+ z y))
1.0ms
z
@-inf
((+ (* x y) (* (- x 1) z)) (* (- x 1) z) (- x 1) x z (+ (* x y) (* (- x 1) z)) (+ (* z x) (* x y)) (* x y) y (+ (* (+ z y) x) (neg z)) (+ z y) (neg z) (+ (* (+ z y) x) (neg z)) (+ z y))
1.0ms
x
@0
((+ (* x y) (* (- x 1) z)) (* (- x 1) z) (- x 1) x z (+ (* x y) (* (- x 1) z)) (+ (* z x) (* x y)) (* x y) y (+ (* (+ z y) x) (neg z)) (+ z y) (neg z) (+ (* (+ z y) x) (neg z)) (+ z y))
1.0ms
y
@-inf
((+ (* x y) (* (- x 1) z)) (* (- x 1) z) (- x 1) x z (+ (* x y) (* (- x 1) z)) (+ (* z x) (* x y)) (* x y) y (+ (* (+ z y) x) (neg z)) (+ z y) (neg z) (+ (* (+ z y) x) (neg z)) (+ z y))
1.0ms
x
@inf
((+ (* x y) (* (- x 1) z)) (* (- x 1) z) (- x 1) x z (+ (* x y) (* (- x 1) z)) (+ (* z x) (* x y)) (* x y) y (+ (* (+ z y) x) (neg z)) (+ z y) (neg z) (+ (* (+ z y) x) (neg z)) (+ z y))

rewrite178.0ms (6.6%)

Memory
-10.5MiB live, 177.7MiB allocated; 40ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0176962
0185905
1926825
27686825
08300813
Stop Event
iter limit
node limit
iter limit
Counts
74 → 143
Calls
Call 1
Inputs
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 #s(approx (- x 1) x) z))
(*.f64 #s(approx (- x 1) x) z)
#s(approx (- x 1) x)
x
z
#s(approx (+ (* x y) (* (- x 1) z)) (fma.f64 z x (*.f64 x y)))
(fma.f64 z x (*.f64 x y))
(*.f64 x y)
y
(fma.f64 #s(approx (+ z y) y) x (neg.f64 z))
#s(approx (+ z y) y)
(neg.f64 z)
(fma.f64 #s(approx (+ z y) z) x (neg.f64 z))
#s(approx (+ z y) z)
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* -1 z)))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (+ (* -1 z) (* x (+ y z)))))
#s(approx (* (- x 1) z) #s(hole binary64 (* -1 z)))
#s(approx (* (- x 1) z) #s(hole binary64 (+ (* -1 z) (* x z))))
#s(approx (- x 1) #s(hole binary64 -1))
#s(approx (- x 1) #s(hole binary64 (- x 1)))
#s(approx x #s(hole binary64 x))
#s(approx (+ (* z x) (* x y)) #s(hole binary64 (* x (+ y z))))
#s(approx (* x y) #s(hole binary64 (* x y)))
#s(approx (+ (* (+ z y) x) (neg z)) #s(hole binary64 (* -1 z)))
#s(approx (+ (* (+ z y) x) (neg z)) #s(hole binary64 (- (* x (+ y z)) z)))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* x (+ y z))))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* x (+ y (+ z (* -1 (/ z x)))))))
#s(approx (* (- x 1) z) #s(hole binary64 (* x z)))
#s(approx (* (- x 1) z) #s(hole binary64 (* x (+ z (* -1 (/ z x))))))
#s(approx (- x 1) #s(hole binary64 x))
#s(approx (- x 1) #s(hole binary64 (* x (- 1 (/ 1 x)))))
#s(approx (+ (* (+ z y) x) (neg z)) #s(hole binary64 (* x (+ y z))))
#s(approx (+ (* (+ z y) x) (neg z)) #s(hole binary64 (* x (+ y (+ z (* -1 (/ z x)))))))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1 z))))))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))))
#s(approx (* (- x 1) z) #s(hole binary64 (* -1 (* x (+ (* -1 z) (/ z x))))))
#s(approx (- x 1) #s(hole binary64 (* -1 (* x (- (/ 1 x) 1)))))
#s(approx (+ (* z x) (* x y)) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1 z))))))
#s(approx (+ (* (+ z y) x) (neg z)) #s(hole binary64 (* -1 (* x (+ (* -1 (+ y z)) (/ z x))))))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* z (- x 1))))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (+ (* x y) (* z (- x 1)))))
#s(approx (+ (* z x) (* x y)) #s(hole binary64 (* x z)))
#s(approx (+ (* z x) (* x y)) #s(hole binary64 (+ (* x y) (* x z))))
#s(approx y #s(hole binary64 y))
#s(approx (+ (* (+ z y) x) (neg z)) #s(hole binary64 (- (* x z) z)))
#s(approx (+ (* (+ z y) x) (neg z)) #s(hole binary64 (- (+ (* x y) (* x z)) z)))
#s(approx (+ z y) #s(hole binary64 z))
#s(approx (+ z y) #s(hole binary64 (+ y z)))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* x y)))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* y (+ x (/ (* z (- x 1)) y)))))
#s(approx (+ (* z x) (* x y)) #s(hole binary64 (* x y)))
#s(approx (+ (* z x) (* x y)) #s(hole binary64 (* y (+ x (/ (* x z) y)))))
#s(approx (+ (* (+ z y) x) (neg z)) #s(hole binary64 (* x y)))
#s(approx (+ (* (+ z y) x) (neg z)) #s(hole binary64 (* y (- (+ x (/ (* x z) y)) (/ z y)))))
#s(approx (+ z y) #s(hole binary64 y))
#s(approx (+ z y) #s(hole binary64 (* y (+ 1 (/ z y)))))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))))
#s(approx (+ (* z x) (* x y)) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ (* x z) y)))))))
#s(approx (+ (* (+ z y) x) (neg z)) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ (- (* x z) z) y)))))))
#s(approx (+ z y) #s(hole binary64 (* -1 (* y (- (* -1 (/ z y)) 1)))))
#s(approx (* (- x 1) z) #s(hole binary64 (* z (- x 1))))
#s(approx z #s(hole binary64 z))
#s(approx (+ (* (+ z y) x) (neg z)) #s(hole binary64 (+ (* x y) (* z (- x 1)))))
#s(approx (neg z) #s(hole binary64 (* -1 z)))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* z (- (+ x (/ (* x y) z)) 1))))
#s(approx (+ (* z x) (* x y)) #s(hole binary64 (* z (+ x (/ (* x y) z)))))
#s(approx (+ (* (+ z y) x) (neg z)) #s(hole binary64 (* z (- x 1))))
#s(approx (+ (* (+ z y) x) (neg z)) #s(hole binary64 (* z (- (+ x (/ (* x y) z)) 1))))
#s(approx (+ z y) #s(hole binary64 (* z (+ 1 (/ y z)))))
#s(approx (+ (* x y) (* (- x 1) z)) #s(hole binary64 (* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))))
#s(approx (+ (* z x) (* x y)) #s(hole binary64 (* -1 (* z (+ (* -1 x) (* -1 (/ (* x y) z)))))))
#s(approx (+ (* (+ z y) x) (neg z)) #s(hole binary64 (* -1 (* z (+ 1 (* -1 x))))))
#s(approx (+ (* (+ z y) x) (neg z)) #s(hole binary64 (* -1 (* z (+ 1 (+ (* -1 x) (* -1 (/ (* x y) z))))))))
#s(approx (+ z y) #s(hole binary64 (* -1 (* z (- (* -1 (/ y z)) 1)))))
Outputs
#s(approx (+ (* (+ z y) x) (neg z)) (*.f64 #s(approx (- x 1) x) z))
(*.f64 #s(approx (- x 1) x) z)
(*.f64 z #s(approx (- x 1) x))
#s(approx (- x 1) x)
x
z
#s(approx (+ (* (+ z y) x) (neg z)) (*.f64 (+.f64 z y) x))
(*.f64 (+.f64 z y) x)
(*.f64 x (+.f64 z y))
(/.f64 (*.f64 x (*.f64 (+.f64 z y) (-.f64 z y))) (-.f64 z y))
(/.f64 (*.f64 x (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64)))) (fma.f64 y (-.f64 y z) (*.f64 z z)))
(/.f64 (*.f64 x (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64)))) (fma.f64 z (-.f64 z y) (*.f64 y y)))
(/.f64 (-.f64 (pow.f64 (*.f64 z x) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 x) y) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 z x) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 (*.f64 z x) (*.f64 (neg.f64 x) y)))))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 x) z) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 z x) #s(literal 2 binary64)) (*.f64 (*.f64 y x) (*.f64 (neg.f64 x) z)))))
(/.f64 (neg.f64 (*.f64 (*.f64 (+.f64 z y) x) (*.f64 x (-.f64 y z)))) (neg.f64 (*.f64 x (-.f64 y z))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 z x) #s(literal 2 binary64)) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))) (neg.f64 (*.f64 x (-.f64 z y))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 z x) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 z x) (*.f64 x (-.f64 z y)) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 z x) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 y x) (*.f64 x (-.f64 y z)) (pow.f64 (*.f64 z x) #s(literal 2 binary64)))))
(/.f64 (*.f64 (*.f64 (+.f64 z y) (-.f64 z y)) x) (-.f64 z y))
(/.f64 (*.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64))) x) (fma.f64 y (-.f64 y z) (*.f64 z z)))
(/.f64 (*.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64))) x) (fma.f64 z (-.f64 z y) (*.f64 y y)))
(/.f64 (*.f64 (*.f64 (+.f64 z y) (-.f64 y z)) x) (-.f64 y z))
(/.f64 (*.f64 x (*.f64 (+.f64 z y) (-.f64 y z))) (-.f64 y z))
(/.f64 (*.f64 (*.f64 (+.f64 z y) x) (*.f64 x (-.f64 y z))) (*.f64 x (-.f64 y z)))
(/.f64 (-.f64 (pow.f64 (*.f64 z x) #s(literal 2 binary64)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (*.f64 x (-.f64 z y)))
(/.f64 (+.f64 (pow.f64 (*.f64 z x) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (fma.f64 (*.f64 z x) (*.f64 x (-.f64 z y)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))))
(/.f64 (+.f64 (pow.f64 (*.f64 z x) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (fma.f64 (*.f64 y x) (*.f64 x (-.f64 y z)) (pow.f64 (*.f64 z x) #s(literal 2 binary64))))
(fma.f64 z x (*.f64 y x))
(fma.f64 y x (*.f64 z x))
(fma.f64 x z (*.f64 y x))
(fma.f64 x y (*.f64 z x))
(-.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 x (-.f64 y z))) (/.f64 (pow.f64 (*.f64 z x) #s(literal 2 binary64)) (*.f64 x (-.f64 y z))))
(-.f64 (/.f64 (pow.f64 (*.f64 z x) #s(literal 2 binary64)) (*.f64 x (-.f64 z y))) (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 x (-.f64 z y))))
(-.f64 (*.f64 z x) (*.f64 (neg.f64 x) y))
(-.f64 (*.f64 y x) (*.f64 (neg.f64 x) z))
(+.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (fma.f64 (*.f64 z x) (*.f64 x (-.f64 z y)) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 z x) #s(literal 3 binary64)) (fma.f64 (*.f64 z x) (*.f64 x (-.f64 z y)) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))))
(+.f64 (/.f64 (pow.f64 (*.f64 z x) #s(literal 3 binary64)) (fma.f64 (*.f64 y x) (*.f64 x (-.f64 y z)) (pow.f64 (*.f64 z x) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (fma.f64 (*.f64 y x) (*.f64 x (-.f64 y z)) (pow.f64 (*.f64 z x) #s(literal 2 binary64)))))
(+.f64 (*.f64 z x) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 z x))
(*.f64 y x)
(*.f64 x y)
y
(/.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 #s(approx (+ z y) y) x) #s(literal 2 binary64))) (-.f64 (neg.f64 z) (*.f64 #s(approx (+ z y) y) x)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 #s(approx (+ z y) y) x) #s(literal 2 binary64)) (*.f64 z z))) (neg.f64 (fma.f64 #s(approx (+ z y) y) x z)))
(/.f64 (neg.f64 (fma.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64) (pow.f64 (*.f64 #s(approx (+ z y) y) x) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (neg.f64 z) (-.f64 (neg.f64 z) (*.f64 #s(approx (+ z y) y) x)) (pow.f64 (*.f64 #s(approx (+ z y) y) x) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 #s(approx (+ z y) y) x) #s(literal 2 binary64)) (*.f64 z z)) (fma.f64 #s(approx (+ z y) y) x z))
(/.f64 (fma.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64) (pow.f64 (*.f64 #s(approx (+ z y) y) x) #s(literal 3 binary64))) (fma.f64 z z (-.f64 (pow.f64 (*.f64 #s(approx (+ z y) y) x) #s(literal 2 binary64)) (*.f64 (*.f64 #s(approx (+ z y) y) x) (neg.f64 z)))))
(/.f64 (fma.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64) (pow.f64 (*.f64 #s(approx (+ z y) y) x) #s(literal 3 binary64))) (fma.f64 (neg.f64 z) (-.f64 (neg.f64 z) (*.f64 #s(approx (+ z y) y) x)) (pow.f64 (*.f64 #s(approx (+ z y) y) x) #s(literal 2 binary64))))
(fma.f64 #s(literal -1 binary64) z (*.f64 #s(approx (+ z y) y) x))
(fma.f64 #s(approx (+ z y) y) x (neg.f64 z))
(fma.f64 z #s(literal -1 binary64) (*.f64 #s(approx (+ z y) y) x))
(fma.f64 x #s(approx (+ z y) y) (neg.f64 z))
(-.f64 (/.f64 (pow.f64 (*.f64 #s(approx (+ z y) y) x) #s(literal 2 binary64)) (fma.f64 #s(approx (+ z y) y) x z)) (/.f64 (*.f64 z z) (fma.f64 #s(approx (+ z y) y) x z)))
(-.f64 (*.f64 #s(approx (+ z y) y) x) (*.f64 (neg.f64 z) #s(literal -1 binary64)))
(-.f64 (*.f64 #s(approx (+ z y) y) x) z)
(-.f64 (neg.f64 z) (*.f64 (neg.f64 #s(approx (+ z y) y)) x))
(-.f64 (neg.f64 z) (*.f64 (neg.f64 x) #s(approx (+ z y) y)))
(+.f64 (/.f64 (pow.f64 (*.f64 #s(approx (+ z y) y) x) #s(literal 3 binary64)) (fma.f64 (neg.f64 z) (-.f64 (neg.f64 z) (*.f64 #s(approx (+ z y) y) x)) (pow.f64 (*.f64 #s(approx (+ z y) y) x) #s(literal 2 binary64)))) (/.f64 (pow.f64 (neg.f64 z) #s(literal 3 binary64)) (fma.f64 (neg.f64 z) (-.f64 (neg.f64 z) (*.f64 #s(approx (+ z y) y) x)) (pow.f64 (*.f64 #s(approx (+ z y) y) x) #s(literal 2 binary64)))))
(+.f64 (*.f64 #s(approx (+ z y) y) x) (neg.f64 z))
(+.f64 (neg.f64 z) (*.f64 #s(approx (+ z y) y) x))
#s(approx (+ z y) y)
(*.f64 #s(literal -1 binary64) z)
(*.f64 z #s(literal -1 binary64))
(neg.f64 z)
(/.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 #s(approx (+ z y) z) x) #s(literal 2 binary64))) (-.f64 (neg.f64 z) (*.f64 #s(approx (+ z y) z) x)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 #s(approx (+ z y) z) x) #s(literal 2 binary64)) (*.f64 z z))) (neg.f64 (fma.f64 #s(approx (+ z y) z) x z)))
(/.f64 (neg.f64 (fma.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64) (pow.f64 (*.f64 #s(approx (+ z y) z) x) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (neg.f64 z) (-.f64 (neg.f64 z) (*.f64 #s(approx (+ z y) z) x)) (pow.f64 (*.f64 #s(approx (+ z y) z) x) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 #s(approx (+ z y) z) x) #s(literal 2 binary64)) (*.f64 z z)) (fma.f64 #s(approx (+ z y) z) x z))
(/.f64 (fma.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64) (pow.f64 (*.f64 #s(approx (+ z y) z) x) #s(literal 3 binary64))) (fma.f64 z z (-.f64 (pow.f64 (*.f64 #s(approx (+ z y) z) x) #s(literal 2 binary64)) (*.f64 (*.f64 #s(approx (+ z y) z) x) (neg.f64 z)))))
(/.f64 (fma.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64) (pow.f64 (*.f64 #s(approx (+ z y) z) x) #s(literal 3 binary64))) (fma.f64 (neg.f64 z) (-.f64 (neg.f64 z) (*.f64 #s(approx (+ z y) z) x)) (pow.f64 (*.f64 #s(approx (+ z y) z) x) #s(literal 2 binary64))))
(fma.f64 #s(literal -1 binary64) z (*.f64 #s(approx (+ z y) z) x))
(fma.f64 #s(approx (+ z y) z) x (neg.f64 z))
(fma.f64 z #s(literal -1 binary64) (*.f64 #s(approx (+ z y) z) x))
(fma.f64 x #s(approx (+ z y) z) (neg.f64 z))
(-.f64 (/.f64 (pow.f64 (*.f64 #s(approx (+ z y) z) x) #s(literal 2 binary64)) (fma.f64 #s(approx (+ z y) z) x z)) (/.f64 (*.f64 z z) (fma.f64 #s(approx (+ z y) z) x z)))
(-.f64 (*.f64 #s(approx (+ z y) z) x) (*.f64 (neg.f64 z) #s(literal -1 binary64)))
(-.f64 (*.f64 #s(approx (+ z y) z) x) z)
(-.f64 (neg.f64 z) (*.f64 (neg.f64 #s(approx (+ z y) z)) x))
(-.f64 (neg.f64 z) (*.f64 (neg.f64 x) #s(approx (+ z y) z)))
(+.f64 (/.f64 (pow.f64 (*.f64 #s(approx (+ z y) z) x) #s(literal 3 binary64)) (fma.f64 (neg.f64 z) (-.f64 (neg.f64 z) (*.f64 #s(approx (+ z y) z) x)) (pow.f64 (*.f64 #s(approx (+ z y) z) x) #s(literal 2 binary64)))) (/.f64 (pow.f64 (neg.f64 z) #s(literal 3 binary64)) (fma.f64 (neg.f64 z) (-.f64 (neg.f64 z) (*.f64 #s(approx (+ z y) z) x)) (pow.f64 (*.f64 #s(approx (+ z y) z) x) #s(literal 2 binary64)))))
(+.f64 (*.f64 #s(approx (+ z y) z) x) (neg.f64 z))
(+.f64 (neg.f64 z) (*.f64 #s(approx (+ z y) z) x))
#s(approx (+ z y) z)
#s(approx (+ (* (+ z y) x) (neg z)) (neg.f64 z))
#s(approx (+ (* (+ z y) x) (neg z)) (fma.f64 (+.f64 z y) x (neg.f64 z)))
#s(approx (* (- x 1) z) (neg.f64 z))
#s(approx (* (- x 1) z) (*.f64 z (-.f64 x #s(literal 1 binary64))))
#s(approx (- x 1) #s(literal -1 binary64))
#s(approx (- x 1) (-.f64 x #s(literal 1 binary64)))
#s(approx x x)
#s(approx (+ (* z x) (* x y)) (*.f64 (+.f64 z y) x))
#s(approx (* x y) (*.f64 y x))
#s(approx (+ (* (+ z y) x) (neg z)) (neg.f64 z))
#s(approx (+ (* (+ z y) x) (neg z)) (fma.f64 (+.f64 z y) x (neg.f64 z)))
#s(approx (+ (* (+ z y) x) (neg z)) (*.f64 (+.f64 z y) x))
#s(approx (+ (* (+ z y) x) (neg z)) (*.f64 (+.f64 (-.f64 z (/.f64 z x)) y) x))
#s(approx (* (- x 1) z) (*.f64 z x))
#s(approx (* (- x 1) z) (*.f64 (-.f64 z (/.f64 z x)) x))
#s(approx (- x 1) x)
#s(approx (- x 1) (*.f64 (-.f64 #s(literal 1 binary64) (pow.f64 x #s(literal -1 binary64))) x))
#s(approx (+ (* (+ z y) x) (neg z)) (*.f64 (+.f64 z y) x))
#s(approx (+ (* (+ z y) x) (neg z)) (*.f64 (+.f64 (-.f64 z (/.f64 z x)) y) x))
#s(approx (+ (* (+ z y) x) (neg z)) (*.f64 (neg.f64 x) (-.f64 (neg.f64 y) z)))
#s(approx (+ (* (+ z y) x) (neg z)) (*.f64 (neg.f64 x) (-.f64 (-.f64 (/.f64 z x) z) y)))
#s(approx (* (- x 1) z) (*.f64 (neg.f64 x) (-.f64 (/.f64 z x) z)))
#s(approx (- x 1) (*.f64 (neg.f64 x) (-.f64 (pow.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))))
#s(approx (+ (* z x) (* x y)) (*.f64 (neg.f64 x) (-.f64 (neg.f64 y) z)))
#s(approx (+ (* (+ z y) x) (neg z)) (*.f64 (neg.f64 x) (-.f64 (-.f64 (/.f64 z x) z) y)))
#s(approx (+ (* (+ z y) x) (neg z)) (*.f64 z (-.f64 x #s(literal 1 binary64))))
#s(approx (+ (* (+ z y) x) (neg z)) (fma.f64 (+.f64 z y) x (neg.f64 z)))
#s(approx (+ (* z x) (* x y)) (*.f64 z x))
#s(approx (+ (* z x) (* x y)) (*.f64 (+.f64 z y) x))
#s(approx y y)
#s(approx (+ (* (+ z y) x) (neg z)) (*.f64 z (-.f64 x #s(literal 1 binary64))))
#s(approx (+ (* (+ z y) x) (neg z)) (fma.f64 (+.f64 z y) x (neg.f64 z)))
#s(approx (+ z y) z)
#s(approx (+ z y) (+.f64 z y))
#s(approx (+ (* (+ z y) x) (neg z)) (*.f64 y x))
#s(approx (+ (* (+ z y) x) (neg z)) (*.f64 (fma.f64 (-.f64 x #s(literal 1 binary64)) (/.f64 z y) x) y))
#s(approx (+ (* z x) (* x y)) (*.f64 y x))
#s(approx (+ (* z x) (* x y)) (*.f64 (fma.f64 (/.f64 z y) x x) y))
#s(approx (+ (* (+ z y) x) (neg z)) (*.f64 y x))
#s(approx (+ (* (+ z y) x) (neg z)) (*.f64 (fma.f64 (-.f64 x #s(literal 1 binary64)) (/.f64 z y) x) y))
#s(approx (+ z y) y)
#s(approx (+ z y) (fma.f64 (/.f64 z y) y y))
#s(approx (+ (* (+ z y) x) (neg z)) (*.f64 (neg.f64 (fma.f64 (-.f64 x #s(literal 1 binary64)) (/.f64 z y) x)) (neg.f64 y)))
#s(approx (+ (* z x) (* x y)) (*.f64 (neg.f64 (fma.f64 (/.f64 z y) x x)) (neg.f64 y)))
#s(approx (+ (* (+ z y) x) (neg z)) (*.f64 (neg.f64 (fma.f64 (-.f64 x #s(literal 1 binary64)) (/.f64 z y) x)) (neg.f64 y)))
#s(approx (+ z y) (*.f64 (fma.f64 (/.f64 z y) #s(literal -1 binary64) #s(literal -1 binary64)) (neg.f64 y)))
#s(approx (* (- x 1) z) (*.f64 z (-.f64 x #s(literal 1 binary64))))
#s(approx z z)
#s(approx (+ (* (+ z y) x) (neg z)) (fma.f64 (+.f64 z y) x (neg.f64 z)))
#s(approx (neg z) (neg.f64 z))
#s(approx (+ (* (+ z y) x) (neg z)) (*.f64 (fma.f64 (/.f64 y z) x (-.f64 x #s(literal 1 binary64))) z))
#s(approx (+ (* z x) (* x y)) (*.f64 (fma.f64 (/.f64 y z) x x) z))
#s(approx (+ (* (+ z y) x) (neg z)) (*.f64 z (-.f64 x #s(literal 1 binary64))))
#s(approx (+ (* (+ z y) x) (neg z)) (*.f64 (fma.f64 (/.f64 y z) x (-.f64 x #s(literal 1 binary64))) z))
#s(approx (+ z y) (fma.f64 (/.f64 y z) z z))
#s(approx (+ (* (+ z y) x) (neg z)) (*.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (/.f64 y z) x x)) (neg.f64 z)))
#s(approx (+ (* z x) (* x y)) (*.f64 (fma.f64 (/.f64 y z) x x) z))
#s(approx (+ (* (+ z y) x) (neg z)) (*.f64 (-.f64 #s(literal 1 binary64) x) (neg.f64 z)))
#s(approx (+ (* (+ z y) x) (neg z)) (*.f64 (-.f64 #s(literal 1 binary64) (fma.f64 (/.f64 y z) x x)) (neg.f64 z)))
#s(approx (+ z y) (*.f64 (fma.f64 (/.f64 y z) #s(literal -1 binary64) #s(literal -1 binary64)) (neg.f64 z)))

eval13.0ms (0.5%)

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

Compiled 2 826 to 379 computations (86.6% saved)

prune14.0ms (0.5%)

Memory
-26.1MiB live, 24.8MiB allocated; 6ms collecting garbage
Pruning

8 alts after pruning (0 fresh and 8 done)

PrunedKeptTotal
New1430143
Fresh000
Picked044
Done044
Total1438151
Accuracy
100.0%
Counts
151 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 (+.f64 z y) x (neg.f64 z))
60.2%
(fma.f64 #s(approx (+ z y) z) x (neg.f64 z))
76.9%
(fma.f64 #s(approx (+ z y) y) x (neg.f64 z))
63.8%
#s(approx (+ (* x y) (* (- x 1) z)) (fma.f64 z x (*.f64 x y)))
64.6%
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (+.f64 z y) x))
25.8%
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 #s(approx (- x 1) x) z))
42.5%
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 y x))
36.6%
#s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z))
Compiler

Compiled 243 to 108 computations (55.6% saved)

regimes16.0ms (0.6%)

Memory
37.9MiB live, 37.9MiB allocated; 0ms collecting garbage
Counts
12 → 1
Calls
Call 1
Inputs
#s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 y x))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 #s(approx (- x 1) x) z))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (+.f64 z y) x))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
(fma.f64 #s(approx (+ z y) y) x (neg.f64 z))
(fma.f64 #s(approx (+ z y) z) x (neg.f64 z))
(+.f64 (*.f64 x y) #s(approx (* (- x 1) z) (neg.f64 z)))
#s(approx (+ (* x y) (* (- x 1) z)) (fma.f64 z x (*.f64 x y)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(+.f64 (*.f64 x y) (*.f64 #s(approx (- x 1) x) z))
(+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
Outputs
(fma.f64 (+.f64 z y) x (neg.f64 z))
Calls

4 calls:

4.0ms
z
4.0ms
y
4.0ms
(+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
4.0ms
x
Results
AccuracySegmentsBranch
100.0%1(+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
100.0%1x
100.0%1y
100.0%1z
Compiler

Compiled 12 to 17 computations (-41.7% saved)

regimes15.0ms (0.6%)

Memory
-7.8MiB live, 37.8MiB allocated; 4ms collecting garbage
Counts
9 → 3
Calls
Call 1
Inputs
#s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 y x))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 #s(approx (- x 1) x) z))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (+.f64 z y) x))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
(fma.f64 #s(approx (+ z y) y) x (neg.f64 z))
(fma.f64 #s(approx (+ z y) z) x (neg.f64 z))
(+.f64 (*.f64 x y) #s(approx (* (- x 1) z) (neg.f64 z)))
#s(approx (+ (* x y) (* (- x 1) z)) (fma.f64 z x (*.f64 x y)))
Outputs
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (+.f64 z y) x))
(fma.f64 #s(approx (+ z y) y) x (neg.f64 z))
#s(approx (+ (* x y) (* (- x 1) z)) (fma.f64 z x (*.f64 x y)))
Calls

4 calls:

6.0ms
z
3.0ms
y
3.0ms
x
3.0ms
(+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
Results
AccuracySegmentsBranch
86.6%4(+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
98.6%3x
88.8%3y
89.2%3z
Compiler

Compiled 12 to 17 computations (-41.7% saved)

regimes3.0ms (0.1%)

Memory
5.6MiB live, 5.6MiB allocated; 0ms collecting garbage
Counts
8 → 3
Calls
Call 1
Inputs
#s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 y x))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 #s(approx (- x 1) x) z))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (+.f64 z y) x))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
(fma.f64 #s(approx (+ z y) y) x (neg.f64 z))
(fma.f64 #s(approx (+ z y) z) x (neg.f64 z))
(+.f64 (*.f64 x y) #s(approx (* (- x 1) z) (neg.f64 z)))
Outputs
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (+.f64 z y) x))
(fma.f64 #s(approx (+ z y) y) x (neg.f64 z))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (+.f64 z y) x))
Calls

1 calls:

3.0ms
x
Results
AccuracySegmentsBranch
98.6%3x
Compiler

Compiled 1 to 3 computations (-200% saved)

regimes15.0ms (0.5%)

Memory
-32.0MiB live, 11.9MiB allocated; 9ms collecting garbage
Counts
5 → 3
Calls
Call 1
Inputs
#s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 y x))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 #s(approx (- x 1) x) z))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (+.f64 z y) x))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
Outputs
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (+.f64 z y) x))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
Calls

3 calls:

10.0ms
z
2.0ms
y
2.0ms
x
Results
AccuracySegmentsBranch
80.0%3y
85.4%3z
81.0%3x
Compiler

Compiled 3 to 9 computations (-200% saved)

regimes6.0ms (0.2%)

Memory
10.8MiB live, 10.8MiB allocated; 0ms collecting garbage
Counts
4 → 3
Calls
Call 1
Inputs
#s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 y x))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 #s(approx (- x 1) x) z))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (+.f64 z y) x))
Outputs
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (+.f64 z y) x))
#s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (+.f64 z y) x))
Calls

3 calls:

2.0ms
(+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
2.0ms
z
2.0ms
x
Results
AccuracySegmentsBranch
81.0%3x
68.2%3(+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
71.6%3z
Compiler

Compiled 11 to 14 computations (-27.3% saved)

regimes7.0ms (0.2%)

Memory
12.9MiB live, 12.9MiB allocated; 0ms collecting garbage
Counts
3 → 3
Calls
Call 1
Inputs
#s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 y x))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 #s(approx (- x 1) x) z))
Outputs
#s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 y x))
#s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z))
Calls

4 calls:

2.0ms
y
2.0ms
z
1.0ms
x
1.0ms
(+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
Results
AccuracySegmentsBranch
56.0%7(+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
61.7%3z
59.8%4y
60.8%3x
Compiler

Compiled 12 to 17 computations (-41.7% saved)

regimes4.0ms (0.2%)

Memory
9.8MiB live, 9.8MiB allocated; 0ms collecting garbage
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
Calls
Call 1
Inputs
#s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z))
Outputs
#s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z))
Calls

4 calls:

1.0ms
z
1.0ms
(+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
1.0ms
y
1.0ms
x
Results
AccuracySegmentsBranch
36.6%1(+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
36.6%1y
36.6%1x
36.6%1z
Compiler

Compiled 12 to 17 computations (-41.7% saved)

bsearch29.0ms (1.1%)

Memory
-12.3MiB live, 34.7MiB allocated; 3ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
12.0ms
1.3334109077486563e-5
15216.739869352486
14.0ms
-732083.3841040554
-0.8929398004829715
Samples
14.0ms288×0valid
Compiler

Compiled 453 to 374 computations (17.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 7.0ms
ival-mult: 4.0ms (55.8% of total)
ival-sub: 1.0ms (14% of total)
ival-add: 1.0ms (14% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch2.0ms (0.1%)

Memory
2.5MiB live, 2.5MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
1.0ms
1.3334109077486563e-5
15216.739869352486
1.0ms
-732083.3841040554
-0.8929398004829715
Compiler

Compiled 444 to 374 computations (15.8% saved)

bsearch147.0ms (5.4%)

Memory
-43.9MiB live, 25.2MiB allocated; 162ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
133.0ms
9.525674242098265e-38
1.737377323928406e-33
11.0ms
-4.646732908159448e+87
-1.218994504328373e+85
Samples
13.0ms256×0valid
Compiler

Compiled 492 to 414 computations (15.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 7.0ms
ival-mult: 3.0ms (41.7% of total)
ival-add: 2.0ms (27.8% of total)
ival-sub: 1.0ms (13.9% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch23.0ms (0.8%)

Memory
20.4MiB live, 20.5MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
11.0ms
5.10236335843941e-19
6.651046214223591e-15
9.0ms
-8.136962658641569e-47
-9.116730700202787e-49
Samples
11.0ms240×0valid
Compiler

Compiled 417 to 359 computations (13.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 6.0ms
ival-mult: 3.0ms (52.2% of total)
ival-sub: 1.0ms (17.4% of total)
ival-add: 1.0ms (17.4% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch6.0ms (0.2%)

Memory
7.1MiB live, 7.0MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
4.0ms
9.525674242098265e-38
1.737377323928406e-33
1.0ms
-4.646732908159448e+87
-1.218994504328373e+85
Samples
2.0ms48×0valid
Compiler

Compiled 412 to 366 computations (11.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 1.0ms
ival-mult: 1.0ms (87.6% of total)
ival-sub: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
ival-add: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

simplify71.0ms (2.6%)

Memory
-28.6MiB live, 27.5MiB allocated; 21ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
048209
174209
294209
3130209
4188209
5440209
63303209
77411209
Stop Event
node limit
Calls
Call 1
Inputs
(fma.f64 (+.f64 z y) x (neg.f64 z))
(if (<=.f64 x #s(literal -1 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (+.f64 z y) x)) (if (<=.f64 x #s(literal 1 binary64)) (fma.f64 #s(approx (+ z y) y) x (neg.f64 z)) #s(approx (+ (* x y) (* (- x 1) z)) (fma.f64 z x (*.f64 x y)))))
(if (<=.f64 x #s(literal -1 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (+.f64 z y) x)) (if (<=.f64 x #s(literal 1 binary64)) (fma.f64 #s(approx (+ z y) y) x (neg.f64 z)) #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (+.f64 z y) x))))
(if (<=.f64 z #s(literal -12199999999999999971442091410516537354791848583638028149665782438359918988988281520128 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (-.f64 x #s(literal 1 binary64)) z)) (if (<=.f64 z #s(literal 496910556692507/730750818665451459101842416358141509827966271488 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (+.f64 z y) x)) #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (-.f64 x #s(literal 1 binary64)) z))))
(if (<=.f64 x #s(literal -1892330240919387/1645504557321206042154969182557350504982735865633579863348609024 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (+.f64 z y) x)) (if (<=.f64 x #s(literal 4867778304876401/20282409603651670423947251286016 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z)) #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (+.f64 z y) x))))
(if (<=.f64 z #s(literal -12199999999999999971442091410516537354791848583638028149665782438359918988988281520128 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z)) (if (<=.f64 z #s(literal 63940696633227/91343852333181432387730302044767688728495783936 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 y x)) #s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z))))
#s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z))
Outputs
(fma.f64 (+.f64 z y) x (neg.f64 z))
(if (<=.f64 x #s(literal -1 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (+.f64 z y) x)) (if (<=.f64 x #s(literal 1 binary64)) (fma.f64 #s(approx (+ z y) y) x (neg.f64 z)) #s(approx (+ (* x y) (* (- x 1) z)) (fma.f64 z x (*.f64 x y)))))
(if (<=.f64 x #s(literal -1 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (+.f64 z y) x)) (if (<=.f64 x #s(literal 1 binary64)) (fma.f64 #s(approx (+ z y) y) x (neg.f64 z)) #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (+.f64 z y) x))))
(if (or (<=.f64 x #s(literal -1 binary64)) (not (<=.f64 x #s(literal 1 binary64)))) #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (+.f64 z y) x)) (fma.f64 #s(approx (+ z y) y) x (neg.f64 z)))
(if (<=.f64 z #s(literal -12199999999999999971442091410516537354791848583638028149665782438359918988988281520128 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (-.f64 x #s(literal 1 binary64)) z)) (if (<=.f64 z #s(literal 496910556692507/730750818665451459101842416358141509827966271488 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (+.f64 z y) x)) #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (-.f64 x #s(literal 1 binary64)) z))))
(if (or (<=.f64 z #s(literal -12199999999999999971442091410516537354791848583638028149665782438359918988988281520128 binary64)) (not (<=.f64 z #s(literal 496910556692507/730750818665451459101842416358141509827966271488 binary64)))) #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (-.f64 x #s(literal 1 binary64)) z)) #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (+.f64 z y) x)))
(if (<=.f64 x #s(literal -1892330240919387/1645504557321206042154969182557350504982735865633579863348609024 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (+.f64 z y) x)) (if (<=.f64 x #s(literal 4867778304876401/20282409603651670423947251286016 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z)) #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (+.f64 z y) x))))
(if (or (<=.f64 x #s(literal -1892330240919387/1645504557321206042154969182557350504982735865633579863348609024 binary64)) (not (<=.f64 x #s(literal 4867778304876401/20282409603651670423947251286016 binary64)))) #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (+.f64 z y) x)) #s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z)))
(if (<=.f64 z #s(literal -12199999999999999971442091410516537354791848583638028149665782438359918988988281520128 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z)) (if (<=.f64 z #s(literal 63940696633227/91343852333181432387730302044767688728495783936 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 y x)) #s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z))))
(if (or (<=.f64 z #s(literal -12199999999999999971442091410516537354791848583638028149665782438359918988988281520128 binary64)) (not (<=.f64 z #s(literal 63940696633227/91343852333181432387730302044767688728495783936 binary64)))) #s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z)) #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 y x)))
#s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z))

derivations255.0ms (9.4%)

Memory
3.4MiB live, 185.5MiB allocated; 28ms collecting garbage
Stop Event
done
Compiler

Compiled 209 to 53 computations (74.6% saved)

preprocess36.0ms (1.3%)

Memory
14.4MiB live, 59.3MiB allocated; 9ms collecting garbage
Compiler

Compiled 436 to 122 computations (72% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...