Optimisation.CirclePacking:place from circle-packing-0.1.0.4, B

Time bar (total: 5.0s)

start0.0ms (0%)

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

analyze201.0ms (4%)

Memory
11.8MiB live, 163.0MiB allocated; 57ms collecting garbage
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.8%0.2%0%0%0%0
0%0%99.8%0.2%0%0%0%1
0%0%99.8%0.2%0%0%0%2
0%0%99.8%0.2%0%0%0%3
0%0%99.8%0.2%0%0%0%4
50%49.9%49.9%0.2%0%0%0%5
50%49.9%49.9%0.2%0%0%0%6
50%49.9%49.9%0.2%0%0%0%7
50%49.9%49.9%0.2%0%0%0%8
75%74.9%25%0.2%0%0%0%9
75%74.9%25%0.2%0%0%0%10
75%74.9%25%0.2%0%0%0%11
75%74.9%25%0.2%0%0%0%12
Compiler

Compiled 11 to 11 computations (0% saved)

sample1.2s (24.9%)

Memory
16.0MiB live, 1 857.6MiB allocated; 447ms collecting garbage
Samples
798.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 337.0ms
ival-div: 161.0ms (47.8% of total)
ival-mult: 71.0ms (21.1% of total)
ival-add: 47.0ms (14% of total)
ival-sub: 41.0ms (12.2% of total)
ival-true: 6.0ms (1.8% of total)
exact: 5.0ms (1.5% of total)
adjust: 3.0ms (0.9% of total)
ival-assert: 3.0ms (0.9% of total)
Bogosity

explain122.0ms (2.4%)

Memory
4.5MiB live, 249.6MiB allocated; 66ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-(*.f64 t #s(literal 2 binary64))
00-0-(-.f64 (+.f64 x y) z)
00-0-t
00-0-z
00-0-(/.f64 (-.f64 (+.f64 x y) z) (*.f64 t #s(literal 2 binary64)))
00-0-#s(literal 2 binary64)
00-0-y
00-0-(+.f64 x y)
00-0-x
Confusion
Predicted +Predicted -
+00
-0256
Precision
0/0
Recall
0/0
Confusion?
Predicted +Predicted MaybePredicted -
+000
-00256
Precision?
0/0
Recall?
0/0
Freqs
test
numberfreq
0256
Total Confusion?
Predicted +Predicted MaybePredicted -
+000
-001
Precision?
0/0
Recall?
0/0
Samples
30.0ms512×0valid
Compiler

Compiled 63 to 31 computations (50.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 13.0ms
ival-div: 4.0ms (30.6% of total)
ival-add: 3.0ms (23% of total)
ival-mult: 3.0ms (23% of total)
ival-sub: 2.0ms (15.3% 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)

preprocess200.0ms (4%)

Memory
28.2MiB live, 212.8MiB allocated; 51ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
046144
1142134
2452134
31220126
43409126
099
0139
1249
2559
31129
42299
56929
641739
087909
Stop Event
iter limit
node limit
iter limit
node limit
Calls
Call 1
Inputs
(/.f64 (-.f64 (+.f64 x y) z) (*.f64 t #s(literal 2 binary64)))
Outputs
(/.f64 (-.f64 (+.f64 x y) z) (*.f64 t #s(literal 2 binary64)))
(/.f64 (-.f64 (+.f64 y x) z) (*.f64 #s(literal 2 binary64) t))
Symmetry

(negabs t)

(sort x y)

Compiler

Compiled 9 to 9 computations (0% saved)

eval0.0ms (0%)

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

Compiled 0 to 4 computations (-∞% saved)

prune0.0ms (0%)

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

Compiled 9 to 9 computations (0% saved)

simplify155.0ms (3.1%)

Memory
6.0MiB live, 145.1MiB allocated; 31ms collecting garbage
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 t #s(literal 2 binary64))
cost-diff0
(+.f64 x y)
cost-diff0
(-.f64 (+.f64 x y) z)
cost-diff0
(/.f64 (-.f64 (+.f64 x y) z) (*.f64 t #s(literal 2 binary64)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0925
01325
12425
25525
311225
422925
569225
6417325
0879025
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(/.f64 (-.f64 (+.f64 x y) z) (*.f64 t #s(literal 2 binary64)))
(-.f64 (+.f64 x y) z)
(+.f64 x y)
x
y
z
(*.f64 t #s(literal 2 binary64))
t
#s(literal 2 binary64)
Outputs
(/.f64 (-.f64 (+.f64 x y) z) (*.f64 t #s(literal 2 binary64)))
(/.f64 (-.f64 (+.f64 y x) z) (*.f64 #s(literal 2 binary64) t))
(-.f64 (+.f64 x y) z)
(-.f64 (+.f64 y x) z)
(+.f64 x y)
(+.f64 y x)
x
y
z
(*.f64 t #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) t)
t
#s(literal 2 binary64)

localize23.0ms (0.5%)

Memory
-13.6MiB live, 32.1MiB allocated; 5ms collecting garbage
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(-.f64 (+.f64 x y) z)
accuracy0.0
(+.f64 x y)
accuracy0.0
(*.f64 t #s(literal 2 binary64))
accuracy0.015625
(/.f64 (-.f64 (+.f64 x y) z) (*.f64 t #s(literal 2 binary64)))
Samples
17.0ms256×0valid
Compiler

Compiled 27 to 11 computations (59.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 6.0ms
ival-div: 2.0ms (32.2% of total)
ival-mult: 2.0ms (32.2% of total)
ival-sub: 1.0ms (16.1% of total)
ival-add: 1.0ms (16.1% 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)

series9.0ms (0.2%)

Memory
12.0MiB live, 12.0MiB allocated; 0ms collecting garbage
Counts
4 → 35
Calls
Call 1
Inputs
(/.f64 (-.f64 (+.f64 x y) z) (*.f64 t #s(literal 2 binary64)))
(-.f64 (+.f64 x y) z)
(+.f64 x y)
(*.f64 t #s(literal 2 binary64))
Outputs
(* 1/2 (/ (- y z) t))
(+ (* 1/2 (/ x t)) (* 1/2 (/ (- y z) t)))
(- y z)
(- (+ x y) z)
y
(+ x y)
(* 1/2 (/ x t))
(* x (+ (* 1/2 (/ (- (/ y t) (/ z t)) x)) (* 1/2 (/ 1 t))))
x
(* x (- (+ 1 (/ y x)) (/ z x)))
(* x (+ 1 (/ y x)))
(* -1 (* x (- (* -1/2 (/ (- (/ y t) (/ z t)) x)) (* 1/2 (/ 1 t)))))
(* -1 (* x (- (* -1 (/ (- y z) x)) 1)))
(* -1 (* x (- (* -1 (/ y x)) 1)))
(* 1/2 (/ (- x z) t))
(+ (* 1/2 (/ y t)) (* 1/2 (/ (- x z) t)))
(- x z)
(* 1/2 (/ y t))
(* y (+ (* 1/2 (/ (- (/ x t) (/ z t)) y)) (* 1/2 (/ 1 t))))
(* y (- (+ 1 (/ x y)) (/ z y)))
(* y (+ 1 (/ x y)))
(* -1 (* y (- (* -1/2 (/ (- (/ x t) (/ z t)) y)) (* 1/2 (/ 1 t)))))
(* -1 (* y (- (* -1 (/ (- x z) y)) 1)))
(* -1 (* y (- (* -1 (/ x y)) 1)))
(* 1/2 (/ (+ x y) t))
(+ (* -1/2 (/ z t)) (* 1/2 (/ (+ x y) t)))
(+ x (+ y (* -1 z)))
(* -1/2 (/ z t))
(* z (- (* 1/2 (/ (+ (/ x t) (/ y t)) z)) (* 1/2 (/ 1 t))))
(* -1 z)
(* z (- (+ (/ x z) (/ y z)) 1))
(* -1 (* z (+ (* -1/2 (/ (+ (/ x t) (/ y t)) z)) (* 1/2 (/ 1 t)))))
(* -1 (* z (+ 1 (* -1 (/ (+ x y) z)))))
(* 1/2 (/ (- (+ x y) z) t))
(* 2 t)
Calls

12 calls:

TimeVariablePointExpression
1.0ms
z
@0
((/ (- (+ x y) z) (* t 2)) (- (+ x y) z) (+ x y) (* t 2))
1.0ms
t
@0
((/ (- (+ x y) z) (* t 2)) (- (+ x y) z) (+ x y) (* t 2))
1.0ms
x
@-inf
((/ (- (+ x y) z) (* t 2)) (- (+ x y) z) (+ x y) (* t 2))
1.0ms
t
@inf
((/ (- (+ x y) z) (* t 2)) (- (+ x y) z) (+ x y) (* t 2))
1.0ms
x
@inf
((/ (- (+ x y) z) (* t 2)) (- (+ x y) z) (+ x y) (* t 2))

simplify241.0ms (4.8%)

Memory
-29.7MiB live, 259.8MiB allocated; 81ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0103278
1313270
2982270
33952258
08156244
Stop Event
iter limit
node limit
Counts
35 → 33
Calls
Call 1
Inputs
(* 1/2 (/ (- y z) t))
(+ (* 1/2 (/ x t)) (* 1/2 (/ (- y z) t)))
(- y z)
(- (+ x y) z)
y
(+ x y)
(* 1/2 (/ x t))
(* x (+ (* 1/2 (/ (- (/ y t) (/ z t)) x)) (* 1/2 (/ 1 t))))
x
(* x (- (+ 1 (/ y x)) (/ z x)))
(* x (+ 1 (/ y x)))
(* -1 (* x (- (* -1/2 (/ (- (/ y t) (/ z t)) x)) (* 1/2 (/ 1 t)))))
(* -1 (* x (- (* -1 (/ (- y z) x)) 1)))
(* -1 (* x (- (* -1 (/ y x)) 1)))
(* 1/2 (/ (- x z) t))
(+ (* 1/2 (/ y t)) (* 1/2 (/ (- x z) t)))
(- x z)
(* 1/2 (/ y t))
(* y (+ (* 1/2 (/ (- (/ x t) (/ z t)) y)) (* 1/2 (/ 1 t))))
(* y (- (+ 1 (/ x y)) (/ z y)))
(* y (+ 1 (/ x y)))
(* -1 (* y (- (* -1/2 (/ (- (/ x t) (/ z t)) y)) (* 1/2 (/ 1 t)))))
(* -1 (* y (- (* -1 (/ (- x z) y)) 1)))
(* -1 (* y (- (* -1 (/ x y)) 1)))
(* 1/2 (/ (+ x y) t))
(+ (* -1/2 (/ z t)) (* 1/2 (/ (+ x y) t)))
(+ x (+ y (* -1 z)))
(* -1/2 (/ z t))
(* z (- (* 1/2 (/ (+ (/ x t) (/ y t)) z)) (* 1/2 (/ 1 t))))
(* -1 z)
(* z (- (+ (/ x z) (/ y z)) 1))
(* -1 (* z (+ (* -1/2 (/ (+ (/ x t) (/ y t)) z)) (* 1/2 (/ 1 t)))))
(* -1 (* z (+ 1 (* -1 (/ (+ x y) z)))))
(* 1/2 (/ (- (+ x y) z) t))
(* 2 t)
Outputs
(* 1/2 (/ (- y z) t))
(*.f64 (/.f64 (-.f64 y z) t) #s(literal 1/2 binary64))
(+ (* 1/2 (/ x t)) (* 1/2 (/ (- y z) t)))
(*.f64 (/.f64 (-.f64 (+.f64 y x) z) t) #s(literal 1/2 binary64))
(- y z)
(-.f64 y z)
(- (+ x y) z)
(-.f64 (+.f64 y x) z)
y
(+ x y)
(+.f64 y x)
(* 1/2 (/ x t))
(*.f64 (/.f64 x t) #s(literal 1/2 binary64))
(* x (+ (* 1/2 (/ (- (/ y t) (/ z t)) x)) (* 1/2 (/ 1 t))))
(*.f64 (/.f64 (fma.f64 (-.f64 y z) (/.f64 #s(literal 1/2 binary64) x) #s(literal 1/2 binary64)) t) x)
x
(* x (- (+ 1 (/ y x)) (/ z x)))
(fma.f64 (/.f64 (-.f64 y z) x) x x)
(* x (+ 1 (/ y x)))
(fma.f64 (/.f64 y x) x x)
(* -1 (* x (- (* -1/2 (/ (- (/ y t) (/ z t)) x)) (* 1/2 (/ 1 t)))))
(*.f64 (/.f64 (fma.f64 (-.f64 y z) (/.f64 #s(literal 1/2 binary64) x) #s(literal 1/2 binary64)) t) x)
(* -1 (* x (- (* -1 (/ (- y z) x)) 1)))
(fma.f64 (/.f64 (-.f64 y z) x) x x)
(* -1 (* x (- (* -1 (/ y x)) 1)))
(fma.f64 (/.f64 y x) x x)
(* 1/2 (/ (- x z) t))
(*.f64 (/.f64 (-.f64 x z) t) #s(literal 1/2 binary64))
(+ (* 1/2 (/ y t)) (* 1/2 (/ (- x z) t)))
(*.f64 (/.f64 (-.f64 (+.f64 y x) z) t) #s(literal 1/2 binary64))
(- x z)
(-.f64 x z)
(* 1/2 (/ y t))
(*.f64 (/.f64 #s(literal 1/2 binary64) t) y)
(* y (+ (* 1/2 (/ (- (/ x t) (/ z t)) y)) (* 1/2 (/ 1 t))))
(*.f64 (/.f64 (fma.f64 (-.f64 x z) (/.f64 #s(literal 1/2 binary64) y) #s(literal 1/2 binary64)) t) y)
(* y (- (+ 1 (/ x y)) (/ z y)))
(fma.f64 (/.f64 (-.f64 x z) y) y y)
(* y (+ 1 (/ x y)))
(fma.f64 (/.f64 x y) y y)
(* -1 (* y (- (* -1/2 (/ (- (/ x t) (/ z t)) y)) (* 1/2 (/ 1 t)))))
(*.f64 (/.f64 (fma.f64 (-.f64 x z) (/.f64 #s(literal 1/2 binary64) y) #s(literal 1/2 binary64)) t) y)
(* -1 (* y (- (* -1 (/ (- x z) y)) 1)))
(fma.f64 (/.f64 (-.f64 x z) y) y y)
(* -1 (* y (- (* -1 (/ x y)) 1)))
(fma.f64 (/.f64 x y) y y)
(* 1/2 (/ (+ x y) t))
(*.f64 (/.f64 (+.f64 y x) t) #s(literal 1/2 binary64))
(+ (* -1/2 (/ z t)) (* 1/2 (/ (+ x y) t)))
(*.f64 (/.f64 (-.f64 (+.f64 y x) z) t) #s(literal 1/2 binary64))
(+ x (+ y (* -1 z)))
(-.f64 (+.f64 y x) z)
(* -1/2 (/ z t))
(*.f64 (/.f64 #s(literal -1/2 binary64) t) z)
(* z (- (* 1/2 (/ (+ (/ x t) (/ y t)) z)) (* 1/2 (/ 1 t))))
(*.f64 (/.f64 (fma.f64 (+.f64 y x) (/.f64 #s(literal 1/2 binary64) z) #s(literal -1/2 binary64)) t) z)
(* -1 z)
(neg.f64 z)
(* z (- (+ (/ x z) (/ y z)) 1))
(*.f64 (-.f64 (/.f64 (+.f64 y x) z) #s(literal 1 binary64)) z)
(* -1 (* z (+ (* -1/2 (/ (+ (/ x t) (/ y t)) z)) (* 1/2 (/ 1 t)))))
(*.f64 (/.f64 (fma.f64 (+.f64 y x) (/.f64 #s(literal 1/2 binary64) z) #s(literal -1/2 binary64)) t) z)
(* -1 (* z (+ 1 (* -1 (/ (+ x y) z)))))
(*.f64 (-.f64 (/.f64 (+.f64 y x) z) #s(literal 1 binary64)) z)
(* 1/2 (/ (- (+ x y) z) t))
(*.f64 (/.f64 (-.f64 (+.f64 y x) z) t) #s(literal 1/2 binary64))
(* 2 t)
(*.f64 #s(literal 2 binary64) t)

rewrite53.0ms (1.1%)

Memory
38.2MiB live, 86.4MiB allocated; 8ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0920
01320
15220
040320
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
4 → 44
Calls
Call 1
Inputs
(/.f64 (-.f64 (+.f64 x y) z) (*.f64 t #s(literal 2 binary64)))
(-.f64 (+.f64 x y) z)
(+.f64 x y)
(*.f64 t #s(literal 2 binary64))
Outputs
(/.f64 (/.f64 (-.f64 (+.f64 y x) z) #s(literal 2 binary64)) t)
(/.f64 (-.f64 (*.f64 (/.f64 (/.f64 (+.f64 y x) #s(literal 2 binary64)) t) (/.f64 (/.f64 (+.f64 y x) #s(literal 2 binary64)) t)) (*.f64 (/.f64 z (*.f64 #s(literal 2 binary64) t)) (/.f64 z (*.f64 #s(literal 2 binary64) t)))) (+.f64 (/.f64 (/.f64 (+.f64 y x) #s(literal 2 binary64)) t) (/.f64 z (*.f64 #s(literal 2 binary64) t))))
(/.f64 (-.f64 (pow.f64 (/.f64 (/.f64 (+.f64 y x) #s(literal 2 binary64)) t) #s(literal 3 binary64)) (pow.f64 (/.f64 z (*.f64 #s(literal 2 binary64) t)) #s(literal 3 binary64))) (fma.f64 (/.f64 (/.f64 (+.f64 y x) #s(literal 2 binary64)) t) (/.f64 (/.f64 (+.f64 y x) #s(literal 2 binary64)) t) (fma.f64 (/.f64 z (*.f64 #s(literal 2 binary64) t)) (/.f64 z (*.f64 #s(literal 2 binary64) t)) (*.f64 (/.f64 (/.f64 (+.f64 y x) #s(literal 2 binary64)) t) (/.f64 z (*.f64 #s(literal 2 binary64) t))))))
(/.f64 (neg.f64 (/.f64 (-.f64 (+.f64 y x) z) t)) #s(literal -2 binary64))
(/.f64 (neg.f64 (neg.f64 (-.f64 (+.f64 y x) z))) (neg.f64 (*.f64 #s(literal -2 binary64) t)))
(/.f64 (-.f64 (*.f64 (+.f64 y x) (*.f64 #s(literal 2 binary64) t)) (*.f64 (*.f64 #s(literal 2 binary64) t) z)) (*.f64 (*.f64 #s(literal 2 binary64) t) (*.f64 #s(literal 2 binary64) t)))
(/.f64 (/.f64 (-.f64 (+.f64 y x) z) t) #s(literal 2 binary64))
(/.f64 (-.f64 (pow.f64 (+.f64 y x) #s(literal 2 binary64)) (*.f64 z z)) (*.f64 (+.f64 z (+.f64 y x)) (*.f64 #s(literal 2 binary64) t)))
(/.f64 (-.f64 (pow.f64 (+.f64 y x) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64))) (*.f64 (fma.f64 z (+.f64 z (+.f64 y x)) (pow.f64 (+.f64 y x) #s(literal 2 binary64))) (*.f64 #s(literal 2 binary64) t)))
(/.f64 (neg.f64 (-.f64 (+.f64 y x) z)) (*.f64 #s(literal -2 binary64) t))
(/.f64 (-.f64 (+.f64 y x) z) (*.f64 #s(literal 2 binary64) t))
(neg.f64 (/.f64 (neg.f64 (-.f64 (+.f64 y x) z)) (*.f64 #s(literal 2 binary64) t)))
(neg.f64 (/.f64 (-.f64 (+.f64 y x) z) (*.f64 #s(literal -2 binary64) t)))
(-.f64 (/.f64 (/.f64 (+.f64 y x) #s(literal 2 binary64)) t) (/.f64 z (*.f64 #s(literal 2 binary64) t)))
(+.f64 (/.f64 x (*.f64 #s(literal 2 binary64) t)) (/.f64 (-.f64 y z) (*.f64 #s(literal 2 binary64) t)))
(/.f64 (-.f64 (*.f64 x x) (*.f64 (-.f64 y z) (-.f64 y z))) (-.f64 x (-.f64 y z)))
(/.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 (-.f64 y z) #s(literal 3 binary64))) (fma.f64 x x (-.f64 (*.f64 (-.f64 y z) (-.f64 y z)) (*.f64 x (-.f64 y z)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (+.f64 y x) #s(literal 2 binary64)) (*.f64 z z))) (neg.f64 (+.f64 z (+.f64 y x))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (+.f64 y x) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64)))) (neg.f64 (fma.f64 z (+.f64 z (+.f64 y x)) (pow.f64 (+.f64 y x) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (+.f64 y x) #s(literal 2 binary64)) (*.f64 z z)) (+.f64 z (+.f64 y x)))
(/.f64 (-.f64 (pow.f64 (+.f64 y x) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64))) (fma.f64 z (+.f64 z (+.f64 y x)) (pow.f64 (+.f64 y x) #s(literal 2 binary64))))
(-.f64 (/.f64 (pow.f64 (+.f64 y x) #s(literal 2 binary64)) (+.f64 z (+.f64 y x))) (/.f64 (*.f64 z z) (+.f64 z (+.f64 y x))))
(-.f64 (/.f64 (pow.f64 (+.f64 y x) #s(literal 3 binary64)) (fma.f64 z (+.f64 z (+.f64 y x)) (pow.f64 (+.f64 y x) #s(literal 2 binary64)))) (/.f64 (pow.f64 z #s(literal 3 binary64)) (fma.f64 z (+.f64 z (+.f64 y x)) (pow.f64 (+.f64 y x) #s(literal 2 binary64)))))
(-.f64 (+.f64 y x) z)
(+.f64 (-.f64 y z) x)
(+.f64 y (-.f64 x z))
(+.f64 x (-.f64 y z))
(/.f64 (-.f64 (*.f64 y y) (*.f64 x x)) (-.f64 y x))
(/.f64 (neg.f64 (*.f64 (+.f64 y x) (-.f64 x y))) (neg.f64 (-.f64 x y)))
(/.f64 (neg.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (neg.f64 (fma.f64 y (-.f64 y x) (*.f64 x x))))
(/.f64 (*.f64 (+.f64 y x) (-.f64 x y)) (-.f64 x y))
(/.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 y y (-.f64 (*.f64 x x) (*.f64 y x))))
(/.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 y (-.f64 y x) (*.f64 x x)))
(-.f64 (/.f64 (*.f64 x x) (-.f64 x y)) (/.f64 (*.f64 y y) (-.f64 x y)))
(+.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 y (-.f64 y x) (*.f64 x x))) (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 y (-.f64 y x) (*.f64 x x))))
(+.f64 y x)
(+.f64 x y)
(*.f64 #s(literal 2 binary64) t)
(*.f64 t #s(literal 2 binary64))
(fma.f64 #s(literal 1 binary64) t (*.f64 #s(literal 1 binary64) t))
(fma.f64 t #s(literal 1 binary64) (*.f64 t #s(literal 1 binary64)))
(+.f64 (*.f64 #s(literal 1 binary64) t) (*.f64 #s(literal 1 binary64) t))
(+.f64 (*.f64 t #s(literal 1 binary64)) (*.f64 t #s(literal 1 binary64)))
(+.f64 t t)

eval10.0ms (0.2%)

Memory
-26.7MiB live, 19.7MiB allocated; 2ms collecting garbage
Compiler

Compiled 1 132 to 246 computations (78.3% saved)

prune6.0ms (0.1%)

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

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New56965
Fresh000
Picked101
Done000
Total57966
Accuracy
100.0%
Counts
66 → 9
Alt Table
Click to see full alt table
StatusAccuracyProgram
63.2%
(/.f64 #s(approx (- (+ x y) z) (-.f64 y z)) (*.f64 t #s(literal 2 binary64)))
69.2%
(/.f64 #s(approx (- (+ x y) z) (-.f64 x z)) (*.f64 t #s(literal 2 binary64)))
33.4%
(/.f64 #s(approx (- (+ x y) z) (neg.f64 z)) (*.f64 t #s(literal 2 binary64)))
82.7%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 (fma.f64 (-.f64 y z) (/.f64 #s(literal 1/2 binary64) x) #s(literal 1/2 binary64)) t) x))
84.3%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 (fma.f64 (+.f64 y x) (/.f64 #s(literal 1/2 binary64) z) #s(literal -1/2 binary64)) t) z))
72.4%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 (+.f64 y x) t) #s(literal 1/2 binary64)))
40.1%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 x t) #s(literal 1/2 binary64)))
35.7%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 #s(literal 1/2 binary64) t) y))
33.4%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 #s(literal -1/2 binary64) t) z))
Compiler

Compiled 288 to 238 computations (17.4% saved)

simplify94.0ms (1.9%)

Memory
-3.6MiB live, 89.4MiB allocated; 17ms collecting garbage
Localize:

Found 18 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 t #s(literal 2 binary64))
cost-diff0
(-.f64 y z)
cost-diff0
#s(approx (- (+ x y) z) (-.f64 y z))
cost-diff0
(/.f64 #s(approx (- (+ x y) z) (-.f64 y z)) (*.f64 t #s(literal 2 binary64)))
cost-diff0
(+.f64 y x)
cost-diff0
(/.f64 (+.f64 y x) t)
cost-diff0
(*.f64 (/.f64 (+.f64 y x) t) #s(literal 1/2 binary64))
cost-diff0
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 (+.f64 y x) t) #s(literal 1/2 binary64)))
cost-diff0
(/.f64 x t)
cost-diff0
(*.f64 (/.f64 x t) #s(literal 1/2 binary64))
cost-diff0
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 x t) #s(literal 1/2 binary64)))
cost-diff0
(/.f64 #s(literal -1/2 binary64) t)
cost-diff0
(*.f64 (/.f64 #s(literal -1/2 binary64) t) z)
cost-diff0
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 #s(literal -1/2 binary64) t) z))
cost-diff0
(fma.f64 (+.f64 y x) (/.f64 #s(literal 1/2 binary64) z) #s(literal -1/2 binary64))
cost-diff0
(/.f64 (fma.f64 (+.f64 y x) (/.f64 #s(literal 1/2 binary64) z) #s(literal -1/2 binary64)) t)
cost-diff0
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 (fma.f64 (+.f64 y x) (/.f64 #s(literal 1/2 binary64) z) #s(literal -1/2 binary64)) t) z))
cost-diff2
(*.f64 (/.f64 (fma.f64 (+.f64 y x) (/.f64 #s(literal 1/2 binary64) z) #s(literal -1/2 binary64)) t) z)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
030184
045184
177184
2151184
3364184
41090184
54370182
08333180
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 (fma.f64 (+.f64 y x) (/.f64 #s(literal 1/2 binary64) z) #s(literal -1/2 binary64)) t) z))
(*.f64 (/.f64 (fma.f64 (+.f64 y x) (/.f64 #s(literal 1/2 binary64) z) #s(literal -1/2 binary64)) t) z)
(/.f64 (fma.f64 (+.f64 y x) (/.f64 #s(literal 1/2 binary64) z) #s(literal -1/2 binary64)) t)
(fma.f64 (+.f64 y x) (/.f64 #s(literal 1/2 binary64) z) #s(literal -1/2 binary64))
(+.f64 y x)
y
x
(/.f64 #s(literal 1/2 binary64) z)
#s(literal 1/2 binary64)
z
#s(literal -1/2 binary64)
t
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 #s(literal -1/2 binary64) t) z))
(*.f64 (/.f64 #s(literal -1/2 binary64) t) z)
(/.f64 #s(literal -1/2 binary64) t)
#s(literal -1/2 binary64)
t
z
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 x t) #s(literal 1/2 binary64)))
(*.f64 (/.f64 x t) #s(literal 1/2 binary64))
(/.f64 x t)
x
t
#s(literal 1/2 binary64)
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 (+.f64 y x) t) #s(literal 1/2 binary64)))
(*.f64 (/.f64 (+.f64 y x) t) #s(literal 1/2 binary64))
(/.f64 (+.f64 y x) t)
(+.f64 y x)
y
x
t
#s(literal 1/2 binary64)
(/.f64 #s(approx (- (+ x y) z) (-.f64 y z)) (*.f64 t #s(literal 2 binary64)))
#s(approx (- (+ x y) z) (-.f64 y z))
(-.f64 y z)
y
z
(*.f64 t #s(literal 2 binary64))
t
#s(literal 2 binary64)
Outputs
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 (fma.f64 (+.f64 y x) (/.f64 #s(literal 1/2 binary64) z) #s(literal -1/2 binary64)) t) z))
#s(approx (/ (- (+ x y) z) (* t 2)) (/.f64 (fma.f64 #s(literal 1/2 binary64) (+.f64 y x) (*.f64 #s(literal -1/2 binary64) z)) t))
(*.f64 (/.f64 (fma.f64 (+.f64 y x) (/.f64 #s(literal 1/2 binary64) z) #s(literal -1/2 binary64)) t) z)
(/.f64 (fma.f64 #s(literal 1/2 binary64) (+.f64 y x) (*.f64 #s(literal -1/2 binary64) z)) t)
(/.f64 (fma.f64 (+.f64 y x) (/.f64 #s(literal 1/2 binary64) z) #s(literal -1/2 binary64)) t)
(/.f64 (fma.f64 (/.f64 (+.f64 y x) z) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) t)
(fma.f64 (+.f64 y x) (/.f64 #s(literal 1/2 binary64) z) #s(literal -1/2 binary64))
(fma.f64 (/.f64 (+.f64 y x) z) #s(literal 1/2 binary64) #s(literal -1/2 binary64))
(+.f64 y x)
y
x
(/.f64 #s(literal 1/2 binary64) z)
#s(literal 1/2 binary64)
z
#s(literal -1/2 binary64)
t
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 #s(literal -1/2 binary64) t) z))
(*.f64 (/.f64 #s(literal -1/2 binary64) t) z)
(/.f64 #s(literal -1/2 binary64) t)
#s(literal -1/2 binary64)
t
z
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 x t) #s(literal 1/2 binary64)))
(*.f64 (/.f64 x t) #s(literal 1/2 binary64))
(/.f64 x t)
x
t
#s(literal 1/2 binary64)
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 (+.f64 y x) t) #s(literal 1/2 binary64)))
(*.f64 (/.f64 (+.f64 y x) t) #s(literal 1/2 binary64))
(/.f64 (+.f64 y x) t)
(+.f64 y x)
y
x
t
#s(literal 1/2 binary64)
(/.f64 #s(approx (- (+ x y) z) (-.f64 y z)) (*.f64 t #s(literal 2 binary64)))
(/.f64 #s(approx (- (+ x y) z) (-.f64 y z)) (*.f64 #s(literal 2 binary64) t))
#s(approx (- (+ x y) z) (-.f64 y z))
(-.f64 y z)
y
z
(*.f64 t #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) t)
t
#s(literal 2 binary64)

localize81.0ms (1.6%)

Memory
1.0MiB live, 88.0MiB allocated; 15ms collecting garbage
Localize:

Found 18 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(-.f64 y z)
accuracy0.0
(*.f64 t #s(literal 2 binary64))
accuracy0.015625
(/.f64 #s(approx (- (+ x y) z) (-.f64 y z)) (*.f64 t #s(literal 2 binary64)))
accuracy24.480653685848864
#s(approx (- (+ x y) z) (-.f64 y z))
accuracy0.0
(+.f64 y x)
accuracy0.01171875
(/.f64 (+.f64 y x) t)
accuracy0.2028933699265769
(*.f64 (/.f64 (+.f64 y x) t) #s(literal 1/2 binary64))
accuracy17.480689807623126
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 (+.f64 y x) t) #s(literal 1/2 binary64)))
accuracy0.0
(/.f64 x t)
accuracy0.2107058699265769
(*.f64 (/.f64 x t) #s(literal 1/2 binary64))
accuracy38.10768904464938
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 x t) #s(literal 1/2 binary64)))
accuracy0.0
(/.f64 #s(literal -1/2 binary64) t)
accuracy0.20703125
(*.f64 (/.f64 #s(literal -1/2 binary64) t) z)
accuracy42.612665604605894
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 #s(literal -1/2 binary64) t) z))
accuracy0.0
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 (fma.f64 (+.f64 y x) (/.f64 #s(literal 1/2 binary64) z) #s(literal -1/2 binary64)) t) z))
accuracy0.1328125
(fma.f64 (+.f64 y x) (/.f64 #s(literal 1/2 binary64) z) #s(literal -1/2 binary64))
accuracy3.14715376962797
(/.f64 (fma.f64 (+.f64 y x) (/.f64 #s(literal 1/2 binary64) z) #s(literal -1/2 binary64)) t)
accuracy6.868554944669884
(*.f64 (/.f64 (fma.f64 (+.f64 y x) (/.f64 #s(literal 1/2 binary64) z) #s(literal -1/2 binary64)) t) z)
Samples
66.0ms256×0valid
Compiler

Compiled 148 to 26 computations (82.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 50.0ms
ival-mult: 29.0ms (58.3% of total)
ival-div: 9.0ms (18.1% of total)
ival-add: 9.0ms (18.1% of total)
ival-sub: 2.0ms (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)

series39.0ms (0.8%)

Memory
18.0MiB live, 59.6MiB allocated; 9ms collecting garbage
Counts
18 → 91
Calls
Call 1
Inputs
(*.f64 (/.f64 (fma.f64 (+.f64 y x) (/.f64 #s(literal 1/2 binary64) z) #s(literal -1/2 binary64)) t) z)
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 (fma.f64 (+.f64 y x) (/.f64 #s(literal 1/2 binary64) z) #s(literal -1/2 binary64)) t) z))
(/.f64 (fma.f64 (+.f64 y x) (/.f64 #s(literal 1/2 binary64) z) #s(literal -1/2 binary64)) t)
(fma.f64 (+.f64 y x) (/.f64 #s(literal 1/2 binary64) z) #s(literal -1/2 binary64))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 #s(literal -1/2 binary64) t) z))
(*.f64 (/.f64 #s(literal -1/2 binary64) t) z)
(/.f64 #s(literal -1/2 binary64) t)
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 x t) #s(literal 1/2 binary64)))
(*.f64 (/.f64 x t) #s(literal 1/2 binary64))
(/.f64 x t)
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 (+.f64 y x) t) #s(literal 1/2 binary64)))
(*.f64 (/.f64 (+.f64 y x) t) #s(literal 1/2 binary64))
(/.f64 (+.f64 y x) t)
(+.f64 y x)
(/.f64 #s(approx (- (+ x y) z) (-.f64 y z)) (*.f64 t #s(literal 2 binary64)))
#s(approx (- (+ x y) z) (-.f64 y z))
(-.f64 y z)
(*.f64 t #s(literal 2 binary64))
Outputs
(/ (* z (- (* 1/2 (/ y z)) 1/2)) t)
(+ (* 1/2 (/ x t)) (/ (* z (- (* 1/2 (/ y z)) 1/2)) t))
(* 1/2 (/ (- y z) t))
(+ (* 1/2 (/ x t)) (* 1/2 (/ (- y z) t)))
(/ (- (* 1/2 (/ y z)) 1/2) t)
(- (+ (* 1/2 (/ x (* t z))) (* 1/2 (/ y (* t z)))) (* 1/2 (/ 1 t)))
(- (* 1/2 (/ y z)) 1/2)
(- (+ (* 1/2 (/ x z)) (* 1/2 (/ y z))) 1/2)
(* 1/2 (/ x t))
(/ x t)
(* 1/2 (/ y t))
(+ (* 1/2 (/ x t)) (* 1/2 (/ y t)))
(/ y t)
(+ (/ x t) (/ y t))
y
(+ x y)
(- y z)
(- (+ x y) z)
(* x (+ (* 1/2 (/ 1 t)) (/ (* z (- (* 1/2 (/ y z)) 1/2)) (* t x))))
(* x (+ (* 1/2 (/ (- (/ y t) (/ z t)) x)) (* 1/2 (/ 1 t))))
(* 1/2 (/ x (* t z)))
(* x (- (+ (* 1/2 (/ y (* t (* x z)))) (* 1/2 (/ 1 (* t z)))) (/ 1/2 (* t x))))
(* 1/2 (/ x z))
(* x (- (+ (* 1/2 (/ y (* x z))) (* 1/2 (/ 1 z))) (* 1/2 (/ 1 x))))
(* x (+ (* 1/2 (/ y (* t x))) (* 1/2 (/ 1 t))))
(* x (+ (/ 1 t) (/ y (* t x))))
x
(* x (+ 1 (/ y x)))
(* x (- (+ 1 (/ y x)) (/ z x)))
(* -1 (* x (- (* -1 (/ (* z (- (* 1/2 (/ y z)) 1/2)) (* t x))) (* 1/2 (/ 1 t)))))
(* -1 (* x (- (* -1/2 (/ (- (/ y t) (/ z t)) x)) (* 1/2 (/ 1 t)))))
(* -1 (* x (- (* -1 (/ (- (* 1/2 (/ y (* t z))) (* 1/2 (/ 1 t))) x)) (* 1/2 (/ 1 (* t z))))))
(* -1 (* x (- (* -1 (/ (- (* 1/2 (/ y z)) 1/2) x)) (* 1/2 (/ 1 z)))))
(* -1 (* x (- (* -1/2 (/ y (* t x))) (* 1/2 (/ 1 t)))))
(* -1 (* x (- (* -1 (/ y (* t x))) (/ 1 t))))
(* -1 (* x (- (* -1 (/ y x)) 1)))
(* -1 (* x (- (* -1 (/ (- y z) x)) 1)))
(/ (* z (- (* 1/2 (/ x z)) 1/2)) t)
(+ (* 1/2 (/ y t)) (/ (* z (- (* 1/2 (/ x z)) 1/2)) t))
(* 1/2 (/ (- x z) t))
(+ (* 1/2 (/ y t)) (* 1/2 (/ (- x z) t)))
(/ (- (* 1/2 (/ x z)) 1/2) t)
(- (* 1/2 (/ x z)) 1/2)
(- x z)
(* -1 z)
(* y (+ (* 1/2 (/ 1 t)) (/ (* z (- (* 1/2 (/ x z)) 1/2)) (* t y))))
(* y (+ (* 1/2 (/ (- (/ x t) (/ z t)) y)) (* 1/2 (/ 1 t))))
(* 1/2 (/ y (* t z)))
(* y (- (+ (* 1/2 (/ x (* t (* y z)))) (* 1/2 (/ 1 (* t z)))) (/ 1/2 (* t y))))
(* 1/2 (/ y z))
(* y (- (+ (* 1/2 (/ x (* y z))) (* 1/2 (/ 1 z))) (* 1/2 (/ 1 y))))
(* y (+ (* 1/2 (/ x (* t y))) (* 1/2 (/ 1 t))))
(* y (+ (/ 1 t) (/ x (* t y))))
(* y (+ 1 (/ x y)))
(* y (- (+ 1 (/ x y)) (/ z y)))
(* y (+ 1 (* -1 (/ z y))))
(* -1 (* y (- (* -1 (/ (* z (- (* 1/2 (/ x z)) 1/2)) (* t y))) (* 1/2 (/ 1 t)))))
(* -1 (* y (- (* -1/2 (/ (- (/ x t) (/ z t)) y)) (* 1/2 (/ 1 t)))))
(* -1 (* y (- (* -1 (/ (- (* 1/2 (/ x (* t z))) (* 1/2 (/ 1 t))) y)) (* 1/2 (/ 1 (* t z))))))
(* -1 (* y (- (* -1 (/ (- (* 1/2 (/ x z)) 1/2) y)) (* 1/2 (/ 1 z)))))
(* -1 (* y (- (* -1/2 (/ x (* t y))) (* 1/2 (/ 1 t)))))
(* -1 (* y (- (* -1 (/ x (* t y))) (/ 1 t))))
(* -1 (* y (- (* -1 (/ x y)) 1)))
(* -1 (* y (- (* -1 (/ (- x z) y)) 1)))
(* -1 (* y (- (/ z y) 1)))
(* 1/2 (/ (+ x y) t))
(+ (* -1/2 (/ z t)) (* 1/2 (/ (+ x y) t)))
(* 1/2 (/ (+ x y) (* t z)))
(/ (+ (* -1/2 (/ z t)) (* 1/2 (/ (+ x y) t))) z)
(* 1/2 (/ (+ x y) z))
(/ (+ (* -1/2 z) (* 1/2 (+ x y))) z)
(* -1/2 (/ z t))
(+ x (+ y (* -1 z)))
(+ y (* -1 z))
(* z (- (* 1/2 (/ (+ x y) (* t z))) (* 1/2 (/ 1 t))))
(* z (- (* 1/2 (/ (+ (/ x t) (/ y t)) z)) (* 1/2 (/ 1 t))))
(/ -1/2 t)
(- (* 1/2 (/ (+ x y) (* t z))) (* 1/2 (/ 1 t)))
-1/2
(- (* 1/2 (/ (+ x y) z)) 1/2)
(* z (- (+ (/ x z) (/ y z)) 1))
(* z (- (/ y z) 1))
(* -1 (* z (+ (* -1/2 (/ (+ x y) (* t z))) (* 1/2 (/ 1 t)))))
(* -1 (* z (+ (* -1/2 (/ (+ (/ x t) (/ y t)) z)) (* 1/2 (/ 1 t)))))
(* -1 (* z (+ 1 (* -1 (/ (+ x y) z)))))
(* -1 (* z (+ 1 (* -1 (/ y z)))))
(/ (* z (- (* 1/2 (/ (+ x y) z)) 1/2)) t)
(* 1/2 (/ (- (+ x y) z) t))
(/ (- (* 1/2 (/ (+ x y) z)) 1/2) t)
(/ (+ x y) t)
(* 2 t)
Calls

12 calls:

TimeVariablePointExpression
6.0ms
z
@inf
((* (/ (+ (* (+ y x) (/ 1/2 z)) -1/2) t) z) (/ (- (+ x y) z) (* t 2)) (/ (+ (* (+ y x) (/ 1/2 z)) -1/2) t) (+ (* (+ y x) (/ 1/2 z)) -1/2) (/ (- (+ x y) z) (* t 2)) (* (/ -1/2 t) z) (/ -1/2 t) (/ (- (+ x y) z) (* t 2)) (* (/ x t) 1/2) (/ x t) (/ (- (+ x y) z) (* t 2)) (* (/ (+ y x) t) 1/2) (/ (+ y x) t) (+ y x) (/ (- (+ x y) z) (* t 2)) (- (+ x y) z) (- y z) (* t 2))
4.0ms
y
@0
((* (/ (+ (* (+ y x) (/ 1/2 z)) -1/2) t) z) (/ (- (+ x y) z) (* t 2)) (/ (+ (* (+ y x) (/ 1/2 z)) -1/2) t) (+ (* (+ y x) (/ 1/2 z)) -1/2) (/ (- (+ x y) z) (* t 2)) (* (/ -1/2 t) z) (/ -1/2 t) (/ (- (+ x y) z) (* t 2)) (* (/ x t) 1/2) (/ x t) (/ (- (+ x y) z) (* t 2)) (* (/ (+ y x) t) 1/2) (/ (+ y x) t) (+ y x) (/ (- (+ x y) z) (* t 2)) (- (+ x y) z) (- y z) (* t 2))
4.0ms
x
@0
((* (/ (+ (* (+ y x) (/ 1/2 z)) -1/2) t) z) (/ (- (+ x y) z) (* t 2)) (/ (+ (* (+ y x) (/ 1/2 z)) -1/2) t) (+ (* (+ y x) (/ 1/2 z)) -1/2) (/ (- (+ x y) z) (* t 2)) (* (/ -1/2 t) z) (/ -1/2 t) (/ (- (+ x y) z) (* t 2)) (* (/ x t) 1/2) (/ x t) (/ (- (+ x y) z) (* t 2)) (* (/ (+ y x) t) 1/2) (/ (+ y x) t) (+ y x) (/ (- (+ x y) z) (* t 2)) (- (+ x y) z) (- y z) (* t 2))
4.0ms
t
@0
((* (/ (+ (* (+ y x) (/ 1/2 z)) -1/2) t) z) (/ (- (+ x y) z) (* t 2)) (/ (+ (* (+ y x) (/ 1/2 z)) -1/2) t) (+ (* (+ y x) (/ 1/2 z)) -1/2) (/ (- (+ x y) z) (* t 2)) (* (/ -1/2 t) z) (/ -1/2 t) (/ (- (+ x y) z) (* t 2)) (* (/ x t) 1/2) (/ x t) (/ (- (+ x y) z) (* t 2)) (* (/ (+ y x) t) 1/2) (/ (+ y x) t) (+ y x) (/ (- (+ x y) z) (* t 2)) (- (+ x y) z) (- y z) (* t 2))
3.0ms
t
@-inf
((* (/ (+ (* (+ y x) (/ 1/2 z)) -1/2) t) z) (/ (- (+ x y) z) (* t 2)) (/ (+ (* (+ y x) (/ 1/2 z)) -1/2) t) (+ (* (+ y x) (/ 1/2 z)) -1/2) (/ (- (+ x y) z) (* t 2)) (* (/ -1/2 t) z) (/ -1/2 t) (/ (- (+ x y) z) (* t 2)) (* (/ x t) 1/2) (/ x t) (/ (- (+ x y) z) (* t 2)) (* (/ (+ y x) t) 1/2) (/ (+ y x) t) (+ y x) (/ (- (+ x y) z) (* t 2)) (- (+ x y) z) (- y z) (* t 2))

simplify184.0ms (3.7%)

Memory
17.4MiB live, 207.7MiB allocated; 45ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0256938
1791878
22619850
08125802
Stop Event
iter limit
node limit
Counts
91 → 89
Calls
Call 1
Inputs
(/ (* z (- (* 1/2 (/ y z)) 1/2)) t)
(+ (* 1/2 (/ x t)) (/ (* z (- (* 1/2 (/ y z)) 1/2)) t))
(* 1/2 (/ (- y z) t))
(+ (* 1/2 (/ x t)) (* 1/2 (/ (- y z) t)))
(/ (- (* 1/2 (/ y z)) 1/2) t)
(- (+ (* 1/2 (/ x (* t z))) (* 1/2 (/ y (* t z)))) (* 1/2 (/ 1 t)))
(- (* 1/2 (/ y z)) 1/2)
(- (+ (* 1/2 (/ x z)) (* 1/2 (/ y z))) 1/2)
(* 1/2 (/ x t))
(/ x t)
(* 1/2 (/ y t))
(+ (* 1/2 (/ x t)) (* 1/2 (/ y t)))
(/ y t)
(+ (/ x t) (/ y t))
y
(+ x y)
(- y z)
(- (+ x y) z)
(* x (+ (* 1/2 (/ 1 t)) (/ (* z (- (* 1/2 (/ y z)) 1/2)) (* t x))))
(* x (+ (* 1/2 (/ (- (/ y t) (/ z t)) x)) (* 1/2 (/ 1 t))))
(* 1/2 (/ x (* t z)))
(* x (- (+ (* 1/2 (/ y (* t (* x z)))) (* 1/2 (/ 1 (* t z)))) (/ 1/2 (* t x))))
(* 1/2 (/ x z))
(* x (- (+ (* 1/2 (/ y (* x z))) (* 1/2 (/ 1 z))) (* 1/2 (/ 1 x))))
(* x (+ (* 1/2 (/ y (* t x))) (* 1/2 (/ 1 t))))
(* x (+ (/ 1 t) (/ y (* t x))))
x
(* x (+ 1 (/ y x)))
(* x (- (+ 1 (/ y x)) (/ z x)))
(* -1 (* x (- (* -1 (/ (* z (- (* 1/2 (/ y z)) 1/2)) (* t x))) (* 1/2 (/ 1 t)))))
(* -1 (* x (- (* -1/2 (/ (- (/ y t) (/ z t)) x)) (* 1/2 (/ 1 t)))))
(* -1 (* x (- (* -1 (/ (- (* 1/2 (/ y (* t z))) (* 1/2 (/ 1 t))) x)) (* 1/2 (/ 1 (* t z))))))
(* -1 (* x (- (* -1 (/ (- (* 1/2 (/ y z)) 1/2) x)) (* 1/2 (/ 1 z)))))
(* -1 (* x (- (* -1/2 (/ y (* t x))) (* 1/2 (/ 1 t)))))
(* -1 (* x (- (* -1 (/ y (* t x))) (/ 1 t))))
(* -1 (* x (- (* -1 (/ y x)) 1)))
(* -1 (* x (- (* -1 (/ (- y z) x)) 1)))
(/ (* z (- (* 1/2 (/ x z)) 1/2)) t)
(+ (* 1/2 (/ y t)) (/ (* z (- (* 1/2 (/ x z)) 1/2)) t))
(* 1/2 (/ (- x z) t))
(+ (* 1/2 (/ y t)) (* 1/2 (/ (- x z) t)))
(/ (- (* 1/2 (/ x z)) 1/2) t)
(- (* 1/2 (/ x z)) 1/2)
(- x z)
(* -1 z)
(* y (+ (* 1/2 (/ 1 t)) (/ (* z (- (* 1/2 (/ x z)) 1/2)) (* t y))))
(* y (+ (* 1/2 (/ (- (/ x t) (/ z t)) y)) (* 1/2 (/ 1 t))))
(* 1/2 (/ y (* t z)))
(* y (- (+ (* 1/2 (/ x (* t (* y z)))) (* 1/2 (/ 1 (* t z)))) (/ 1/2 (* t y))))
(* 1/2 (/ y z))
(* y (- (+ (* 1/2 (/ x (* y z))) (* 1/2 (/ 1 z))) (* 1/2 (/ 1 y))))
(* y (+ (* 1/2 (/ x (* t y))) (* 1/2 (/ 1 t))))
(* y (+ (/ 1 t) (/ x (* t y))))
(* y (+ 1 (/ x y)))
(* y (- (+ 1 (/ x y)) (/ z y)))
(* y (+ 1 (* -1 (/ z y))))
(* -1 (* y (- (* -1 (/ (* z (- (* 1/2 (/ x z)) 1/2)) (* t y))) (* 1/2 (/ 1 t)))))
(* -1 (* y (- (* -1/2 (/ (- (/ x t) (/ z t)) y)) (* 1/2 (/ 1 t)))))
(* -1 (* y (- (* -1 (/ (- (* 1/2 (/ x (* t z))) (* 1/2 (/ 1 t))) y)) (* 1/2 (/ 1 (* t z))))))
(* -1 (* y (- (* -1 (/ (- (* 1/2 (/ x z)) 1/2) y)) (* 1/2 (/ 1 z)))))
(* -1 (* y (- (* -1/2 (/ x (* t y))) (* 1/2 (/ 1 t)))))
(* -1 (* y (- (* -1 (/ x (* t y))) (/ 1 t))))
(* -1 (* y (- (* -1 (/ x y)) 1)))
(* -1 (* y (- (* -1 (/ (- x z) y)) 1)))
(* -1 (* y (- (/ z y) 1)))
(* 1/2 (/ (+ x y) t))
(+ (* -1/2 (/ z t)) (* 1/2 (/ (+ x y) t)))
(* 1/2 (/ (+ x y) (* t z)))
(/ (+ (* -1/2 (/ z t)) (* 1/2 (/ (+ x y) t))) z)
(* 1/2 (/ (+ x y) z))
(/ (+ (* -1/2 z) (* 1/2 (+ x y))) z)
(* -1/2 (/ z t))
(+ x (+ y (* -1 z)))
(+ y (* -1 z))
(* z (- (* 1/2 (/ (+ x y) (* t z))) (* 1/2 (/ 1 t))))
(* z (- (* 1/2 (/ (+ (/ x t) (/ y t)) z)) (* 1/2 (/ 1 t))))
(/ -1/2 t)
(- (* 1/2 (/ (+ x y) (* t z))) (* 1/2 (/ 1 t)))
-1/2
(- (* 1/2 (/ (+ x y) z)) 1/2)
(* z (- (+ (/ x z) (/ y z)) 1))
(* z (- (/ y z) 1))
(* -1 (* z (+ (* -1/2 (/ (+ x y) (* t z))) (* 1/2 (/ 1 t)))))
(* -1 (* z (+ (* -1/2 (/ (+ (/ x t) (/ y t)) z)) (* 1/2 (/ 1 t)))))
(* -1 (* z (+ 1 (* -1 (/ (+ x y) z)))))
(* -1 (* z (+ 1 (* -1 (/ y z)))))
(/ (* z (- (* 1/2 (/ (+ x y) z)) 1/2)) t)
(* 1/2 (/ (- (+ x y) z) t))
(/ (- (* 1/2 (/ (+ x y) z)) 1/2) t)
(/ (+ x y) t)
(* 2 t)
Outputs
(/ (* z (- (* 1/2 (/ y z)) 1/2)) t)
(/.f64 (*.f64 (fma.f64 (/.f64 y z) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) z) t)
(+ (* 1/2 (/ x t)) (/ (* z (- (* 1/2 (/ y z)) 1/2)) t))
(/.f64 (fma.f64 #s(literal 1/2 binary64) x (*.f64 (fma.f64 (/.f64 y z) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) z)) t)
(* 1/2 (/ (- y z) t))
(*.f64 (/.f64 (-.f64 y z) t) #s(literal 1/2 binary64))
(+ (* 1/2 (/ x t)) (* 1/2 (/ (- y z) t)))
(*.f64 (/.f64 (-.f64 (+.f64 x y) z) t) #s(literal 1/2 binary64))
(/ (- (* 1/2 (/ y z)) 1/2) t)
(/.f64 (fma.f64 (/.f64 y z) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) t)
(- (+ (* 1/2 (/ x (* t z))) (* 1/2 (/ y (* t z)))) (* 1/2 (/ 1 t)))
(/.f64 (fma.f64 (/.f64 (+.f64 x y) z) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) t)
(- (* 1/2 (/ y z)) 1/2)
(fma.f64 (/.f64 y z) #s(literal 1/2 binary64) #s(literal -1/2 binary64))
(- (+ (* 1/2 (/ x z)) (* 1/2 (/ y z))) 1/2)
(fma.f64 (/.f64 (+.f64 x y) z) #s(literal 1/2 binary64) #s(literal -1/2 binary64))
(* 1/2 (/ x t))
(*.f64 (/.f64 x t) #s(literal 1/2 binary64))
(/ x t)
(/.f64 x t)
(* 1/2 (/ y t))
(*.f64 (/.f64 y t) #s(literal 1/2 binary64))
(+ (* 1/2 (/ x t)) (* 1/2 (/ y t)))
(*.f64 (/.f64 (+.f64 x y) t) #s(literal 1/2 binary64))
(/ y t)
(/.f64 y t)
(+ (/ x t) (/ y t))
(/.f64 (+.f64 x y) t)
y
(+ x y)
(+.f64 x y)
(- y z)
(-.f64 y z)
(- (+ x y) z)
(-.f64 (+.f64 x y) z)
(* x (+ (* 1/2 (/ 1 t)) (/ (* z (- (* 1/2 (/ y z)) 1/2)) (* t x))))
(*.f64 (/.f64 (fma.f64 z (/.f64 (fma.f64 (/.f64 y z) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) x) #s(literal 1/2 binary64)) t) x)
(* x (+ (* 1/2 (/ (- (/ y t) (/ z t)) x)) (* 1/2 (/ 1 t))))
(*.f64 (fma.f64 (/.f64 (/.f64 (-.f64 y z) t) x) #s(literal 1/2 binary64) (/.f64 #s(literal 1/2 binary64) t)) x)
(* 1/2 (/ x (* t z)))
(*.f64 (/.f64 (/.f64 x t) z) #s(literal 1/2 binary64))
(* x (- (+ (* 1/2 (/ y (* t (* x z)))) (* 1/2 (/ 1 (* t z)))) (/ 1/2 (* t x))))
(*.f64 (/.f64 (fma.f64 (/.f64 (-.f64 (/.f64 y x) #s(literal -1 binary64)) z) #s(literal 1/2 binary64) (/.f64 #s(literal -1/2 binary64) x)) t) x)
(* 1/2 (/ x z))
(*.f64 (/.f64 x z) #s(literal 1/2 binary64))
(* x (- (+ (* 1/2 (/ y (* x z))) (* 1/2 (/ 1 z))) (* 1/2 (/ 1 x))))
(*.f64 (fma.f64 (/.f64 (-.f64 (/.f64 y x) #s(literal -1 binary64)) z) #s(literal 1/2 binary64) (/.f64 #s(literal -1/2 binary64) x)) x)
(* x (+ (* 1/2 (/ y (* t x))) (* 1/2 (/ 1 t))))
(*.f64 (/.f64 (fma.f64 (/.f64 y x) #s(literal 1/2 binary64) #s(literal 1/2 binary64)) t) x)
(* x (+ (/ 1 t) (/ y (* t x))))
(*.f64 (/.f64 (-.f64 (/.f64 y x) #s(literal -1 binary64)) t) x)
x
(* x (+ 1 (/ y x)))
(fma.f64 (/.f64 y x) x x)
(* x (- (+ 1 (/ y x)) (/ z x)))
(fma.f64 (/.f64 (-.f64 y z) x) x x)
(* -1 (* x (- (* -1 (/ (* z (- (* 1/2 (/ y z)) 1/2)) (* t x))) (* 1/2 (/ 1 t)))))
(*.f64 (/.f64 (fma.f64 z (/.f64 (fma.f64 (/.f64 y z) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) x) #s(literal 1/2 binary64)) t) x)
(* -1 (* x (- (* -1/2 (/ (- (/ y t) (/ z t)) x)) (* 1/2 (/ 1 t)))))
(*.f64 (fma.f64 (/.f64 (/.f64 (-.f64 y z) t) x) #s(literal 1/2 binary64) (/.f64 #s(literal 1/2 binary64) t)) x)
(* -1 (* x (- (* -1 (/ (- (* 1/2 (/ y (* t z))) (* 1/2 (/ 1 t))) x)) (* 1/2 (/ 1 (* t z))))))
(*.f64 (/.f64 (fma.f64 (/.f64 (-.f64 (/.f64 y x) #s(literal -1 binary64)) z) #s(literal 1/2 binary64) (/.f64 #s(literal -1/2 binary64) x)) t) x)
(* -1 (* x (- (* -1 (/ (- (* 1/2 (/ y z)) 1/2) x)) (* 1/2 (/ 1 z)))))
(*.f64 (fma.f64 (/.f64 (-.f64 (/.f64 y x) #s(literal -1 binary64)) z) #s(literal 1/2 binary64) (/.f64 #s(literal -1/2 binary64) x)) x)
(* -1 (* x (- (* -1/2 (/ y (* t x))) (* 1/2 (/ 1 t)))))
(*.f64 (/.f64 (fma.f64 (/.f64 y x) #s(literal 1/2 binary64) #s(literal 1/2 binary64)) t) x)
(* -1 (* x (- (* -1 (/ y (* t x))) (/ 1 t))))
(*.f64 (neg.f64 x) (-.f64 (/.f64 (/.f64 (neg.f64 y) t) x) (/.f64 #s(literal 1 binary64) t)))
(* -1 (* x (- (* -1 (/ y x)) 1)))
(*.f64 (neg.f64 x) (fma.f64 #s(literal -1 binary64) (/.f64 y x) #s(literal -1 binary64)))
(* -1 (* x (- (* -1 (/ (- y z) x)) 1)))
(*.f64 (neg.f64 x) (fma.f64 (/.f64 (-.f64 y z) x) #s(literal -1 binary64) #s(literal -1 binary64)))
(/ (* z (- (* 1/2 (/ x z)) 1/2)) t)
(/.f64 (*.f64 (fma.f64 (/.f64 x z) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) z) t)
(+ (* 1/2 (/ y t)) (/ (* z (- (* 1/2 (/ x z)) 1/2)) t))
(/.f64 (fma.f64 (fma.f64 (/.f64 x z) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) z (*.f64 #s(literal 1/2 binary64) y)) t)
(* 1/2 (/ (- x z) t))
(*.f64 (/.f64 (-.f64 x z) t) #s(literal 1/2 binary64))
(+ (* 1/2 (/ y t)) (* 1/2 (/ (- x z) t)))
(*.f64 (/.f64 (-.f64 (+.f64 x y) z) t) #s(literal 1/2 binary64))
(/ (- (* 1/2 (/ x z)) 1/2) t)
(/.f64 (fma.f64 (/.f64 x z) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) t)
(- (* 1/2 (/ x z)) 1/2)
(fma.f64 (/.f64 x z) #s(literal 1/2 binary64) #s(literal -1/2 binary64))
(- x z)
(-.f64 x z)
(* -1 z)
(neg.f64 z)
(* y (+ (* 1/2 (/ 1 t)) (/ (* z (- (* 1/2 (/ x z)) 1/2)) (* t y))))
(*.f64 (/.f64 (fma.f64 z (/.f64 (fma.f64 (/.f64 x z) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) y) #s(literal 1/2 binary64)) t) y)
(* y (+ (* 1/2 (/ (- (/ x t) (/ z t)) y)) (* 1/2 (/ 1 t))))
(*.f64 (fma.f64 (/.f64 (/.f64 (-.f64 x z) t) y) #s(literal 1/2 binary64) (/.f64 #s(literal 1/2 binary64) t)) y)
(* 1/2 (/ y (* t z)))
(*.f64 (/.f64 (/.f64 y z) t) #s(literal 1/2 binary64))
(* y (- (+ (* 1/2 (/ x (* t (* y z)))) (* 1/2 (/ 1 (* t z)))) (/ 1/2 (* t y))))
(*.f64 (/.f64 (fma.f64 (/.f64 (-.f64 (/.f64 x y) #s(literal -1 binary64)) z) #s(literal 1/2 binary64) (/.f64 #s(literal -1/2 binary64) y)) t) y)
(* 1/2 (/ y z))
(*.f64 (/.f64 y z) #s(literal 1/2 binary64))
(* y (- (+ (* 1/2 (/ x (* y z))) (* 1/2 (/ 1 z))) (* 1/2 (/ 1 y))))
(*.f64 (fma.f64 (/.f64 (-.f64 (/.f64 x y) #s(literal -1 binary64)) z) #s(literal 1/2 binary64) (/.f64 #s(literal -1/2 binary64) y)) y)
(* y (+ (* 1/2 (/ x (* t y))) (* 1/2 (/ 1 t))))
(*.f64 (/.f64 (fma.f64 (/.f64 x y) #s(literal 1/2 binary64) #s(literal 1/2 binary64)) t) y)
(* y (+ (/ 1 t) (/ x (* t y))))
(*.f64 (/.f64 (-.f64 (/.f64 x y) #s(literal -1 binary64)) t) y)
(* y (+ 1 (/ x y)))
(fma.f64 (/.f64 x y) y y)
(* y (- (+ 1 (/ x y)) (/ z y)))
(fma.f64 (/.f64 (-.f64 x z) y) y y)
(* y (+ 1 (* -1 (/ z y))))
(*.f64 (-.f64 #s(literal 1 binary64) (/.f64 z y)) y)
(* -1 (* y (- (* -1 (/ (* z (- (* 1/2 (/ x z)) 1/2)) (* t y))) (* 1/2 (/ 1 t)))))
(*.f64 (/.f64 (fma.f64 z (/.f64 (fma.f64 (/.f64 x z) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) y) #s(literal 1/2 binary64)) t) y)
(* -1 (* y (- (* -1/2 (/ (- (/ x t) (/ z t)) y)) (* 1/2 (/ 1 t)))))
(*.f64 (fma.f64 (/.f64 (/.f64 (-.f64 x z) t) y) #s(literal 1/2 binary64) (/.f64 #s(literal 1/2 binary64) t)) y)
(* -1 (* y (- (* -1 (/ (- (* 1/2 (/ x (* t z))) (* 1/2 (/ 1 t))) y)) (* 1/2 (/ 1 (* t z))))))
(*.f64 (/.f64 (fma.f64 (/.f64 (-.f64 (/.f64 x y) #s(literal -1 binary64)) z) #s(literal 1/2 binary64) (/.f64 #s(literal -1/2 binary64) y)) t) y)
(* -1 (* y (- (* -1 (/ (- (* 1/2 (/ x z)) 1/2) y)) (* 1/2 (/ 1 z)))))
(*.f64 (fma.f64 (/.f64 (-.f64 (/.f64 x y) #s(literal -1 binary64)) z) #s(literal 1/2 binary64) (/.f64 #s(literal -1/2 binary64) y)) y)
(* -1 (* y (- (* -1/2 (/ x (* t y))) (* 1/2 (/ 1 t)))))
(*.f64 (/.f64 (fma.f64 (/.f64 x y) #s(literal 1/2 binary64) #s(literal 1/2 binary64)) t) y)
(* -1 (* y (- (* -1 (/ x (* t y))) (/ 1 t))))
(*.f64 (neg.f64 y) (-.f64 (/.f64 (/.f64 (neg.f64 x) t) y) (/.f64 #s(literal 1 binary64) t)))
(* -1 (* y (- (* -1 (/ x y)) 1)))
(*.f64 (neg.f64 y) (fma.f64 (/.f64 x y) #s(literal -1 binary64) #s(literal -1 binary64)))
(* -1 (* y (- (* -1 (/ (- x z) y)) 1)))
(*.f64 (neg.f64 y) (fma.f64 (/.f64 (-.f64 x z) y) #s(literal -1 binary64) #s(literal -1 binary64)))
(* -1 (* y (- (/ z y) 1)))
(*.f64 (-.f64 #s(literal 1 binary64) (/.f64 z y)) y)
(* 1/2 (/ (+ x y) t))
(*.f64 (/.f64 (+.f64 x y) t) #s(literal 1/2 binary64))
(+ (* -1/2 (/ z t)) (* 1/2 (/ (+ x y) t)))
(*.f64 (/.f64 (-.f64 (+.f64 x y) z) t) #s(literal 1/2 binary64))
(* 1/2 (/ (+ x y) (* t z)))
(*.f64 (/.f64 (+.f64 x y) z) (/.f64 #s(literal 1/2 binary64) t))
(/ (+ (* -1/2 (/ z t)) (* 1/2 (/ (+ x y) t))) z)
(/.f64 (*.f64 #s(literal 1/2 binary64) (-.f64 (+.f64 x y) z)) (*.f64 t z))
(* 1/2 (/ (+ x y) z))
(*.f64 (/.f64 (+.f64 x y) z) #s(literal 1/2 binary64))
(/ (+ (* -1/2 z) (* 1/2 (+ x y))) z)
(*.f64 #s(literal -1/2 binary64) (/.f64 (-.f64 z (+.f64 x y)) z))
(* -1/2 (/ z t))
(*.f64 #s(literal -1/2 binary64) (/.f64 z t))
(+ x (+ y (* -1 z)))
(-.f64 (+.f64 x y) z)
(+ y (* -1 z))
(-.f64 y z)
(* z (- (* 1/2 (/ (+ x y) (* t z))) (* 1/2 (/ 1 t))))
(*.f64 (fma.f64 (/.f64 (+.f64 x y) z) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) (/.f64 z t))
(* z (- (* 1/2 (/ (+ (/ x t) (/ y t)) z)) (* 1/2 (/ 1 t))))
(*.f64 (fma.f64 (/.f64 (+.f64 x y) z) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) (/.f64 z t))
(/ -1/2 t)
(/.f64 #s(literal -1/2 binary64) t)
(- (* 1/2 (/ (+ x y) (* t z))) (* 1/2 (/ 1 t)))
(/.f64 (fma.f64 (/.f64 (+.f64 x y) z) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) t)
-1/2
#s(literal -1/2 binary64)
(- (* 1/2 (/ (+ x y) z)) 1/2)
(fma.f64 (/.f64 (+.f64 x y) z) #s(literal 1/2 binary64) #s(literal -1/2 binary64))
(* z (- (+ (/ x z) (/ y z)) 1))
(*.f64 (-.f64 (/.f64 (+.f64 x y) z) #s(literal 1 binary64)) z)
(* z (- (/ y z) 1))
(*.f64 (-.f64 (/.f64 y z) #s(literal 1 binary64)) z)
(* -1 (* z (+ (* -1/2 (/ (+ x y) (* t z))) (* 1/2 (/ 1 t)))))
(*.f64 (fma.f64 (/.f64 (+.f64 x y) z) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) (/.f64 z t))
(* -1 (* z (+ (* -1/2 (/ (+ (/ x t) (/ y t)) z)) (* 1/2 (/ 1 t)))))
(*.f64 (fma.f64 (/.f64 (+.f64 x y) z) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) (/.f64 z t))
(* -1 (* z (+ 1 (* -1 (/ (+ x y) z)))))
(*.f64 (-.f64 (/.f64 (+.f64 x y) z) #s(literal 1 binary64)) z)
(* -1 (* z (+ 1 (* -1 (/ y z)))))
(*.f64 (-.f64 (/.f64 y z) #s(literal 1 binary64)) z)
(/ (* z (- (* 1/2 (/ (+ x y) z)) 1/2)) t)
(*.f64 (fma.f64 (/.f64 (+.f64 x y) z) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) (/.f64 z t))
(* 1/2 (/ (- (+ x y) z) t))
(*.f64 (/.f64 (-.f64 (+.f64 x y) z) t) #s(literal 1/2 binary64))
(/ (- (* 1/2 (/ (+ x y) z)) 1/2) t)
(/.f64 (fma.f64 (/.f64 (+.f64 x y) z) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) t)
(/ (+ x y) t)
(/.f64 (+.f64 x y) t)
(* 2 t)
(*.f64 #s(literal 2 binary64) t)

rewrite60.0ms (1.2%)

Memory
-31.3MiB live, 68.0MiB allocated; 22ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
030158
045158
1153158
01097158
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
18 → 135
Calls
Call 1
Inputs
(*.f64 (/.f64 (fma.f64 (+.f64 y x) (/.f64 #s(literal 1/2 binary64) z) #s(literal -1/2 binary64)) t) z)
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 (fma.f64 (+.f64 y x) (/.f64 #s(literal 1/2 binary64) z) #s(literal -1/2 binary64)) t) z))
(/.f64 (fma.f64 (+.f64 y x) (/.f64 #s(literal 1/2 binary64) z) #s(literal -1/2 binary64)) t)
(fma.f64 (+.f64 y x) (/.f64 #s(literal 1/2 binary64) z) #s(literal -1/2 binary64))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 #s(literal -1/2 binary64) t) z))
(*.f64 (/.f64 #s(literal -1/2 binary64) t) z)
(/.f64 #s(literal -1/2 binary64) t)
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 x t) #s(literal 1/2 binary64)))
(*.f64 (/.f64 x t) #s(literal 1/2 binary64))
(/.f64 x t)
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 (+.f64 y x) t) #s(literal 1/2 binary64)))
(*.f64 (/.f64 (+.f64 y x) t) #s(literal 1/2 binary64))
(/.f64 (+.f64 y x) t)
(+.f64 y x)
(/.f64 #s(approx (- (+ x y) z) (-.f64 y z)) (*.f64 t #s(literal 2 binary64)))
#s(approx (- (+ x y) z) (-.f64 y z))
(-.f64 y z)
(*.f64 t #s(literal 2 binary64))
Outputs
(*.f64 (/.f64 (fma.f64 (+.f64 x y) (/.f64 #s(literal 1/2 binary64) z) #s(literal -1/2 binary64)) t) z)
(*.f64 (fma.f64 (+.f64 x y) (/.f64 #s(literal 1/2 binary64) z) #s(literal -1/2 binary64)) (/.f64 z t))
(*.f64 z (/.f64 (fma.f64 (+.f64 x y) (/.f64 #s(literal 1/2 binary64) z) #s(literal -1/2 binary64)) t))
(/.f64 (*.f64 (neg.f64 (fma.f64 (+.f64 x y) (/.f64 #s(literal 1/2 binary64) z) #s(literal -1/2 binary64))) z) (neg.f64 t))
(/.f64 (*.f64 z (neg.f64 (fma.f64 (+.f64 x y) (/.f64 #s(literal 1/2 binary64) z) #s(literal -1/2 binary64)))) (neg.f64 t))
(/.f64 (neg.f64 (*.f64 (fma.f64 (+.f64 x y) (/.f64 #s(literal 1/2 binary64) z) #s(literal -1/2 binary64)) z)) (neg.f64 t))
(/.f64 (*.f64 (fma.f64 (+.f64 x y) (/.f64 #s(literal 1/2 binary64) z) #s(literal -1/2 binary64)) z) t)
(fma.f64 (*.f64 (+.f64 x y) (/.f64 (/.f64 #s(literal 1/2 binary64) z) t)) z (*.f64 (/.f64 #s(literal -1/2 binary64) t) z))
(fma.f64 z (*.f64 (+.f64 x y) (/.f64 (/.f64 #s(literal 1/2 binary64) z) t)) (*.f64 (/.f64 #s(literal -1/2 binary64) t) z))
(+.f64 (*.f64 (*.f64 (+.f64 x y) (/.f64 (/.f64 #s(literal 1/2 binary64) z) t)) z) (*.f64 (/.f64 #s(literal -1/2 binary64) t) z))
(+.f64 (*.f64 z (*.f64 (+.f64 x y) (/.f64 (/.f64 #s(literal 1/2 binary64) z) t))) (*.f64 (/.f64 #s(literal -1/2 binary64) t) z))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (fma.f64 (+.f64 x y) (/.f64 #s(literal 1/2 binary64) z) #s(literal -1/2 binary64)) (/.f64 z t)))
(/.f64 (-.f64 (*.f64 (*.f64 (+.f64 x y) (/.f64 (/.f64 #s(literal 1/2 binary64) z) t)) (*.f64 (+.f64 x y) (/.f64 (/.f64 #s(literal 1/2 binary64) z) t))) (*.f64 (/.f64 #s(literal -1/2 binary64) t) (/.f64 #s(literal -1/2 binary64) t))) (-.f64 (*.f64 (+.f64 x y) (/.f64 (/.f64 #s(literal 1/2 binary64) z) t)) (/.f64 #s(literal -1/2 binary64) t)))
(/.f64 (+.f64 (pow.f64 (*.f64 (+.f64 x y) (/.f64 (/.f64 #s(literal 1/2 binary64) z) t)) #s(literal 3 binary64)) (pow.f64 (/.f64 #s(literal -1/2 binary64) t) #s(literal 3 binary64))) (fma.f64 (*.f64 (+.f64 x y) (/.f64 (/.f64 #s(literal 1/2 binary64) z) t)) (*.f64 (+.f64 x y) (/.f64 (/.f64 #s(literal 1/2 binary64) z) t)) (-.f64 (*.f64 (/.f64 #s(literal -1/2 binary64) t) (/.f64 #s(literal -1/2 binary64) t)) (*.f64 (*.f64 (+.f64 x y) (/.f64 (/.f64 #s(literal 1/2 binary64) z) t)) (/.f64 #s(literal -1/2 binary64) t)))))
(/.f64 (neg.f64 (neg.f64 (fma.f64 (+.f64 x y) (/.f64 #s(literal 1/2 binary64) z) #s(literal -1/2 binary64)))) (neg.f64 (neg.f64 t)))
(/.f64 (fma.f64 (*.f64 (+.f64 x y) (/.f64 #s(literal 1/2 binary64) z)) t (*.f64 t #s(literal -1/2 binary64))) (*.f64 t t))
(/.f64 (fma.f64 (*.f64 (+.f64 x y) (/.f64 #s(literal 1/2 binary64) z)) (neg.f64 t) (*.f64 t #s(literal 1/2 binary64))) (*.f64 t (neg.f64 t)))
(/.f64 (-.f64 (pow.f64 (*.f64 (+.f64 x y) (/.f64 #s(literal 1/2 binary64) z)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (*.f64 (-.f64 (*.f64 (+.f64 x y) (/.f64 #s(literal 1/2 binary64) z)) #s(literal -1/2 binary64)) t))
(/.f64 (+.f64 #s(literal -1/8 binary64) (pow.f64 (*.f64 (+.f64 x y) (/.f64 #s(literal 1/2 binary64) z)) #s(literal 3 binary64))) (*.f64 (fma.f64 #s(literal -1/2 binary64) (-.f64 #s(literal -1/2 binary64) (*.f64 (+.f64 x y) (/.f64 #s(literal 1/2 binary64) z))) (pow.f64 (*.f64 (+.f64 x y) (/.f64 #s(literal 1/2 binary64) z)) #s(literal 2 binary64))) t))
(/.f64 (neg.f64 (fma.f64 (+.f64 x y) (/.f64 #s(literal 1/2 binary64) z) #s(literal -1/2 binary64))) (neg.f64 t))
(/.f64 (fma.f64 (+.f64 x y) (/.f64 #s(literal 1/2 binary64) z) #s(literal -1/2 binary64)) t)
(neg.f64 (/.f64 (neg.f64 (fma.f64 (+.f64 x y) (/.f64 #s(literal 1/2 binary64) z) #s(literal -1/2 binary64))) t))
(neg.f64 (/.f64 (fma.f64 (+.f64 x y) (/.f64 #s(literal 1/2 binary64) z) #s(literal -1/2 binary64)) (neg.f64 t)))
(fma.f64 (+.f64 x y) (/.f64 (/.f64 #s(literal 1/2 binary64) z) t) (/.f64 #s(literal -1/2 binary64) t))
(fma.f64 (/.f64 #s(literal 1/2 binary64) z) (/.f64 (+.f64 x y) t) (/.f64 #s(literal -1/2 binary64) t))
(+.f64 (*.f64 (+.f64 x y) (/.f64 (/.f64 #s(literal 1/2 binary64) z) t)) (/.f64 #s(literal -1/2 binary64) t))
(+.f64 (/.f64 #s(literal -1/2 binary64) t) (*.f64 (+.f64 x y) (/.f64 (/.f64 #s(literal 1/2 binary64) z) t)))
(/.f64 (-.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 (+.f64 x y) (/.f64 #s(literal 1/2 binary64) z)) #s(literal 2 binary64))) (-.f64 #s(literal -1/2 binary64) (*.f64 (+.f64 x y) (/.f64 #s(literal 1/2 binary64) z))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (+.f64 x y) (/.f64 #s(literal 1/2 binary64) z)) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (neg.f64 (-.f64 (*.f64 (+.f64 x y) (/.f64 #s(literal 1/2 binary64) z)) #s(literal -1/2 binary64))))
(/.f64 (neg.f64 (+.f64 #s(literal -1/8 binary64) (pow.f64 (*.f64 (+.f64 x y) (/.f64 #s(literal 1/2 binary64) z)) #s(literal 3 binary64)))) (neg.f64 (fma.f64 #s(literal -1/2 binary64) (-.f64 #s(literal -1/2 binary64) (*.f64 (+.f64 x y) (/.f64 #s(literal 1/2 binary64) z))) (pow.f64 (*.f64 (+.f64 x y) (/.f64 #s(literal 1/2 binary64) z)) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (+.f64 x y) (/.f64 #s(literal 1/2 binary64) z)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (-.f64 (*.f64 (+.f64 x y) (/.f64 #s(literal 1/2 binary64) z)) #s(literal -1/2 binary64)))
(/.f64 (+.f64 #s(literal -1/8 binary64) (pow.f64 (*.f64 (+.f64 x y) (/.f64 #s(literal 1/2 binary64) z)) #s(literal 3 binary64))) (+.f64 #s(literal 1/4 binary64) (-.f64 (pow.f64 (*.f64 (+.f64 x y) (/.f64 #s(literal 1/2 binary64) z)) #s(literal 2 binary64)) (*.f64 (+.f64 x y) (*.f64 (/.f64 #s(literal 1/2 binary64) z) #s(literal -1/2 binary64))))))
(/.f64 (+.f64 #s(literal -1/8 binary64) (pow.f64 (*.f64 (+.f64 x y) (/.f64 #s(literal 1/2 binary64) z)) #s(literal 3 binary64))) (fma.f64 #s(literal -1/2 binary64) (-.f64 #s(literal -1/2 binary64) (*.f64 (+.f64 x y) (/.f64 #s(literal 1/2 binary64) z))) (pow.f64 (*.f64 (+.f64 x y) (/.f64 #s(literal 1/2 binary64) z)) #s(literal 2 binary64))))
(fma.f64 (+.f64 x y) (/.f64 #s(literal 1/2 binary64) z) #s(literal -1/2 binary64))
(fma.f64 (/.f64 #s(literal 1/2 binary64) z) (+.f64 x y) #s(literal -1/2 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (+.f64 x y) (/.f64 #s(literal 1/2 binary64) z)) #s(literal 2 binary64)) (-.f64 (*.f64 (+.f64 x y) (/.f64 #s(literal 1/2 binary64) z)) #s(literal -1/2 binary64))) (/.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 (+.f64 x y) (/.f64 #s(literal 1/2 binary64) z)) #s(literal -1/2 binary64))))
(-.f64 #s(literal -1/2 binary64) (*.f64 (neg.f64 (+.f64 x y)) (/.f64 #s(literal 1/2 binary64) z)))
(-.f64 #s(literal -1/2 binary64) (*.f64 (neg.f64 (/.f64 #s(literal 1/2 binary64) z)) (+.f64 x y)))
(+.f64 (/.f64 (pow.f64 (*.f64 (+.f64 x y) (/.f64 #s(literal 1/2 binary64) z)) #s(literal 3 binary64)) (fma.f64 #s(literal -1/2 binary64) (-.f64 #s(literal -1/2 binary64) (*.f64 (+.f64 x y) (/.f64 #s(literal 1/2 binary64) z))) (pow.f64 (*.f64 (+.f64 x y) (/.f64 #s(literal 1/2 binary64) z)) #s(literal 2 binary64)))) (/.f64 #s(literal -1/8 binary64) (fma.f64 #s(literal -1/2 binary64) (-.f64 #s(literal -1/2 binary64) (*.f64 (+.f64 x y) (/.f64 #s(literal 1/2 binary64) z))) (pow.f64 (*.f64 (+.f64 x y) (/.f64 #s(literal 1/2 binary64) z)) #s(literal 2 binary64)))))
(+.f64 (*.f64 (+.f64 x y) (/.f64 #s(literal 1/2 binary64) z)) #s(literal -1/2 binary64))
(+.f64 #s(literal -1/2 binary64) (*.f64 (+.f64 x y) (/.f64 #s(literal 1/2 binary64) z)))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 #s(literal -1/2 binary64) t) z))
(*.f64 (/.f64 #s(literal -1/2 binary64) t) z)
(*.f64 #s(literal -1/2 binary64) (/.f64 z t))
(*.f64 z (/.f64 #s(literal -1/2 binary64) t))
(/.f64 (*.f64 z #s(literal 1/2 binary64)) (neg.f64 t))
(/.f64 (*.f64 #s(literal 1/2 binary64) z) (neg.f64 t))
(/.f64 (neg.f64 (*.f64 #s(literal -1/2 binary64) z)) (neg.f64 t))
(/.f64 (*.f64 #s(literal -1/2 binary64) z) t)
(/.f64 #s(literal -1/2 binary64) (neg.f64 (neg.f64 t)))
(/.f64 #s(literal -1/2 binary64) t)
(/.f64 #s(literal 1/2 binary64) (neg.f64 t))
(neg.f64 (/.f64 #s(literal 1/2 binary64) t))
(neg.f64 (/.f64 #s(literal -1/2 binary64) (neg.f64 t)))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 x t) #s(literal 1/2 binary64)))
(*.f64 (/.f64 x t) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (/.f64 x t))
(*.f64 x (/.f64 #s(literal 1/2 binary64) t))
(/.f64 (*.f64 (neg.f64 x) #s(literal 1/2 binary64)) (neg.f64 t))
(/.f64 (*.f64 #s(literal 1/2 binary64) (neg.f64 x)) (neg.f64 t))
(/.f64 (neg.f64 (*.f64 #s(literal 1/2 binary64) x)) (neg.f64 t))
(/.f64 (*.f64 #s(literal 1/2 binary64) x) t)
(neg.f64 (*.f64 (/.f64 x t) #s(literal -1/2 binary64)))
(neg.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 x t)))
(/.f64 (neg.f64 (neg.f64 x)) (neg.f64 (neg.f64 t)))
(/.f64 (neg.f64 x) (neg.f64 t))
(/.f64 x t)
(neg.f64 (/.f64 (neg.f64 x) t))
(neg.f64 (/.f64 x (neg.f64 t)))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 (+.f64 x y) t) #s(literal 1/2 binary64)))
(*.f64 (/.f64 (+.f64 x y) t) #s(literal 1/2 binary64))
(*.f64 (+.f64 x y) (/.f64 #s(literal 1/2 binary64) t))
(*.f64 #s(literal 1/2 binary64) (/.f64 (+.f64 x y) t))
(/.f64 (*.f64 (neg.f64 (+.f64 x y)) #s(literal 1/2 binary64)) (neg.f64 t))
(/.f64 (*.f64 #s(literal 1/2 binary64) (neg.f64 (+.f64 x y))) (neg.f64 t))
(/.f64 (neg.f64 (*.f64 (+.f64 x y) #s(literal 1/2 binary64))) (neg.f64 t))
(/.f64 (*.f64 (+.f64 x y) #s(literal 1/2 binary64)) t)
(neg.f64 (*.f64 (/.f64 (+.f64 x y) t) #s(literal -1/2 binary64)))
(neg.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (+.f64 x y) t)))
(fma.f64 (/.f64 y t) #s(literal 1/2 binary64) (*.f64 (/.f64 x t) #s(literal 1/2 binary64)))
(fma.f64 #s(literal 1/2 binary64) (/.f64 y t) (*.f64 (/.f64 x t) #s(literal 1/2 binary64)))
(+.f64 (*.f64 (/.f64 y t) #s(literal 1/2 binary64)) (*.f64 (/.f64 x t) #s(literal 1/2 binary64)))
(+.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 y t)) (*.f64 (/.f64 x t) #s(literal 1/2 binary64)))
(/.f64 (-.f64 (*.f64 (/.f64 y t) (/.f64 y t)) (*.f64 (/.f64 x t) (/.f64 x t))) (-.f64 (/.f64 y t) (/.f64 x t)))
(/.f64 (+.f64 (pow.f64 (/.f64 y t) #s(literal 3 binary64)) (pow.f64 (/.f64 x t) #s(literal 3 binary64))) (fma.f64 (/.f64 y t) (/.f64 y t) (-.f64 (*.f64 (/.f64 x t) (/.f64 x t)) (*.f64 (/.f64 y t) (/.f64 x t)))))
(/.f64 (neg.f64 (neg.f64 (+.f64 x y))) (neg.f64 (neg.f64 t)))
(/.f64 (fma.f64 y (neg.f64 t) (*.f64 t (neg.f64 x))) (*.f64 t (neg.f64 t)))
(/.f64 (fma.f64 y t (*.f64 t x)) (*.f64 t t))
(/.f64 (*.f64 (+.f64 x y) (-.f64 y x)) (*.f64 (-.f64 y x) t))
(/.f64 (*.f64 (+.f64 x y) (-.f64 x y)) (*.f64 (-.f64 x y) t))
(/.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (*.f64 (fma.f64 x (-.f64 x y) (*.f64 y y)) t))
(/.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (*.f64 (fma.f64 y (-.f64 y x) (*.f64 x x)) t))
(/.f64 (neg.f64 (+.f64 x y)) (neg.f64 t))
(/.f64 (+.f64 x y) t)
(neg.f64 (/.f64 (neg.f64 (+.f64 x y)) t))
(neg.f64 (/.f64 (+.f64 x y) (neg.f64 t)))
(+.f64 (/.f64 y t) (/.f64 x t))
(+.f64 (/.f64 x t) (/.f64 y t))
(/.f64 (neg.f64 (*.f64 (+.f64 x y) (-.f64 y x))) (neg.f64 (-.f64 y x)))
(/.f64 (neg.f64 (*.f64 (+.f64 x y) (-.f64 x y))) (neg.f64 (-.f64 x y)))
(/.f64 (neg.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (neg.f64 (fma.f64 x (-.f64 x y) (*.f64 y y))))
(/.f64 (neg.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (neg.f64 (fma.f64 y (-.f64 y x) (*.f64 x x))))
(/.f64 (*.f64 (+.f64 x y) (-.f64 y x)) (-.f64 y x))
(/.f64 (*.f64 (+.f64 x y) (-.f64 x y)) (-.f64 x y))
(/.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 x (-.f64 x y) (*.f64 y y)))
(/.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 y (-.f64 y x) (*.f64 x x)))
(-.f64 (/.f64 (*.f64 y y) (-.f64 y x)) (/.f64 (*.f64 x x) (-.f64 y x)))
(-.f64 (/.f64 (*.f64 x x) (-.f64 x y)) (/.f64 (*.f64 y y) (-.f64 x y)))
(+.f64 (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 x (-.f64 x y) (*.f64 y y))) (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x (-.f64 x y) (*.f64 y y))))
(+.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 y (-.f64 y x) (*.f64 x x))) (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 y (-.f64 y x) (*.f64 x x))))
(+.f64 x y)
(+.f64 y x)
(/.f64 (/.f64 #s(approx (- (+ x y) z) (-.f64 y z)) #s(literal 2 binary64)) t)
(/.f64 (neg.f64 (/.f64 #s(approx (- (+ x y) z) (-.f64 y z)) t)) #s(literal -2 binary64))
(/.f64 (neg.f64 (neg.f64 #s(approx (- (+ x y) z) (-.f64 y z)))) (neg.f64 (*.f64 #s(literal -2 binary64) t)))
(/.f64 (/.f64 #s(approx (- (+ x y) z) (-.f64 y z)) t) #s(literal 2 binary64))
(/.f64 (neg.f64 #s(approx (- (+ x y) z) (-.f64 y z))) (*.f64 #s(literal -2 binary64) t))
(/.f64 #s(approx (- (+ x y) z) (-.f64 y z)) (*.f64 #s(literal 2 binary64) t))
(neg.f64 (/.f64 (neg.f64 #s(approx (- (+ x y) z) (-.f64 y z))) (*.f64 #s(literal 2 binary64) t)))
(neg.f64 (/.f64 #s(approx (- (+ x y) z) (-.f64 y z)) (*.f64 #s(literal -2 binary64) t)))
#s(approx (- (+ x y) z) (-.f64 y z))
(/.f64 (neg.f64 (*.f64 (+.f64 z y) (-.f64 y z))) (neg.f64 (+.f64 z y)))
(/.f64 (neg.f64 (-.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64)))) (neg.f64 (fma.f64 z (+.f64 z y) (*.f64 y y))))
(/.f64 (*.f64 (+.f64 z y) (-.f64 y z)) (+.f64 z y))
(/.f64 (-.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 (*.f64 y y) (+.f64 z y)) (/.f64 (*.f64 z z) (+.f64 z y)))
(-.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 #s(literal 2 binary64) t)
(*.f64 t #s(literal 2 binary64))
(fma.f64 #s(literal 1 binary64) t (*.f64 #s(literal 1 binary64) t))
(fma.f64 t #s(literal 1 binary64) (*.f64 t #s(literal 1 binary64)))
(+.f64 (*.f64 #s(literal 1 binary64) t) (*.f64 #s(literal 1 binary64) t))
(+.f64 (*.f64 t #s(literal 1 binary64)) (*.f64 t #s(literal 1 binary64)))
(+.f64 t t)

eval27.0ms (0.5%)

Memory
-6.0MiB live, 87.3MiB allocated; 8ms collecting garbage
Compiler

Compiled 5 518 to 887 computations (83.9% saved)

prune11.0ms (0.2%)

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

13 alts after pruning (10 fresh and 3 done)

PrunedKeptTotal
New2118219
Fresh224
Picked235
Done000
Total21513228
Accuracy
100.0%
Counts
228 → 13
Alt Table
Click to see full alt table
StatusAccuracyProgram
63.2%
(/.f64 #s(approx (- (+ x y) z) (-.f64 y z)) (+.f64 t t))
69.2%
(/.f64 #s(approx (- (+ x y) z) (-.f64 x z)) (*.f64 t #s(literal 2 binary64)))
33.4%
#s(approx (/ (- (+ x y) z) (* t 2)) (/.f64 (*.f64 #s(literal -1/2 binary64) z) t))
83.4%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (fma.f64 (/.f64 (+.f64 x y) z) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) (/.f64 z t)))
49.0%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 (fma.f64 y t (*.f64 t x)) (*.f64 t t)) #s(literal 1/2 binary64)))
72.4%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 (+.f64 y x) t) #s(literal 1/2 binary64)))
54.0%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 #s(approx (+ (* (+ y x) (/ 1/2 z)) -1/2) (fma.f64 (/.f64 y z) #s(literal 1/2 binary64) #s(literal -1/2 binary64))) t) z))
40.1%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 x t) #s(literal 1/2 binary64)))
35.7%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 #s(literal 1/2 binary64) t) y))
33.4%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 #s(literal -1/2 binary64) t) z))
35.7%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(approx (/ (+ y x) t) (/.f64 y t)) #s(literal 1/2 binary64)))
40.3%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 x (/.f64 #s(literal 1/2 binary64) t)))
64.3%
#s(approx (/ (- (+ x y) z) (* t 2)) #s(approx (* (/ (+ y x) t) 1/2) (*.f64 (/.f64 (fma.f64 (/.f64 y x) #s(literal 1/2 binary64) #s(literal 1/2 binary64)) t) x)))
Compiler

Compiled 435 to 344 computations (20.9% saved)

simplify260.0ms (5.2%)

Memory
-67.7MiB live, 245.6MiB allocated; 149ms collecting garbage
Localize:

Found 18 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 (/.f64 (fma.f64 y t (*.f64 t x)) (*.f64 t t)) #s(literal 1/2 binary64))
cost-diff0
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 (fma.f64 y t (*.f64 t x)) (*.f64 t t)) #s(literal 1/2 binary64)))
cost-diff1
(fma.f64 y t (*.f64 t x))
cost-diff4
(/.f64 (fma.f64 y t (*.f64 t x)) (*.f64 t t))
cost-diff0
(+.f64 t t)
cost-diff0
(-.f64 y z)
cost-diff0
#s(approx (- (+ x y) z) (-.f64 y z))
cost-diff0
(/.f64 #s(approx (- (+ x y) z) (-.f64 y z)) (+.f64 t t))
cost-diff0
(/.f64 #s(literal 1/2 binary64) t)
cost-diff0
(*.f64 (/.f64 #s(literal 1/2 binary64) t) y)
cost-diff0
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 #s(literal 1/2 binary64) t) y))
cost-diff0
(/.f64 #s(literal 1/2 binary64) t)
cost-diff0
(*.f64 x (/.f64 #s(literal 1/2 binary64) t))
cost-diff0
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 x (/.f64 #s(literal 1/2 binary64) t)))
cost-diff0
(/.f64 (+.f64 x y) z)
cost-diff0
(fma.f64 (/.f64 (+.f64 x y) z) #s(literal 1/2 binary64) #s(literal -1/2 binary64))
cost-diff0
(*.f64 (fma.f64 (/.f64 (+.f64 x y) z) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) (/.f64 z t))
cost-diff0
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (fma.f64 (/.f64 (+.f64 x y) z) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) (/.f64 z t)))
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
032202
050202
195198
2261192
3888186
43809186
08328186
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (fma.f64 (/.f64 (+.f64 x y) z) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) (/.f64 z t)))
(*.f64 (fma.f64 (/.f64 (+.f64 x y) z) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) (/.f64 z t))
(fma.f64 (/.f64 (+.f64 x y) z) #s(literal 1/2 binary64) #s(literal -1/2 binary64))
(/.f64 (+.f64 x y) z)
(+.f64 x y)
x
y
z
#s(literal 1/2 binary64)
#s(literal -1/2 binary64)
(/.f64 z t)
t
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 x (/.f64 #s(literal 1/2 binary64) t)))
(*.f64 x (/.f64 #s(literal 1/2 binary64) t))
x
(/.f64 #s(literal 1/2 binary64) t)
#s(literal 1/2 binary64)
t
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 #s(literal 1/2 binary64) t) y))
(*.f64 (/.f64 #s(literal 1/2 binary64) t) y)
(/.f64 #s(literal 1/2 binary64) t)
#s(literal 1/2 binary64)
t
y
(/.f64 #s(approx (- (+ x y) z) (-.f64 y z)) (+.f64 t t))
#s(approx (- (+ x y) z) (-.f64 y z))
(-.f64 y z)
y
z
(+.f64 t t)
t
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 (fma.f64 y t (*.f64 t x)) (*.f64 t t)) #s(literal 1/2 binary64)))
(*.f64 (/.f64 (fma.f64 y t (*.f64 t x)) (*.f64 t t)) #s(literal 1/2 binary64))
(/.f64 (fma.f64 y t (*.f64 t x)) (*.f64 t t))
(fma.f64 y t (*.f64 t x))
y
t
(*.f64 t x)
x
(*.f64 t t)
#s(literal 1/2 binary64)
Outputs
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (fma.f64 (/.f64 (+.f64 x y) z) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) (/.f64 z t)))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 (fma.f64 #s(literal 1/2 binary64) (/.f64 (+.f64 y x) z) #s(literal -1/2 binary64)) t) z))
(*.f64 (fma.f64 (/.f64 (+.f64 x y) z) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) (/.f64 z t))
(*.f64 (/.f64 (fma.f64 #s(literal 1/2 binary64) (/.f64 (+.f64 y x) z) #s(literal -1/2 binary64)) t) z)
(fma.f64 (/.f64 (+.f64 x y) z) #s(literal 1/2 binary64) #s(literal -1/2 binary64))
(fma.f64 #s(literal 1/2 binary64) (/.f64 (+.f64 y x) z) #s(literal -1/2 binary64))
(/.f64 (+.f64 x y) z)
(/.f64 (+.f64 y x) z)
(+.f64 x y)
(+.f64 y x)
x
y
z
#s(literal 1/2 binary64)
#s(literal -1/2 binary64)
(/.f64 z t)
t
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 x (/.f64 #s(literal 1/2 binary64) t)))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 x t) #s(literal 1/2 binary64)))
(*.f64 x (/.f64 #s(literal 1/2 binary64) t))
(*.f64 (/.f64 x t) #s(literal 1/2 binary64))
x
(/.f64 #s(literal 1/2 binary64) t)
#s(literal 1/2 binary64)
t
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 #s(literal 1/2 binary64) t) y))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 y t) #s(literal 1/2 binary64)))
(*.f64 (/.f64 #s(literal 1/2 binary64) t) y)
(*.f64 (/.f64 y t) #s(literal 1/2 binary64))
(/.f64 #s(literal 1/2 binary64) t)
#s(literal 1/2 binary64)
t
y
(/.f64 #s(approx (- (+ x y) z) (-.f64 y z)) (+.f64 t t))
(/.f64 #s(approx (- (+ x y) z) (-.f64 y z)) (*.f64 #s(literal 2 binary64) t))
#s(approx (- (+ x y) z) (-.f64 y z))
(-.f64 y z)
y
z
(+.f64 t t)
(*.f64 #s(literal 2 binary64) t)
t
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 (fma.f64 y t (*.f64 t x)) (*.f64 t t)) #s(literal 1/2 binary64)))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 (+.f64 y x) t) #s(literal 1/2 binary64)))
(*.f64 (/.f64 (fma.f64 y t (*.f64 t x)) (*.f64 t t)) #s(literal 1/2 binary64))
(*.f64 (/.f64 (+.f64 y x) t) #s(literal 1/2 binary64))
(/.f64 (fma.f64 y t (*.f64 t x)) (*.f64 t t))
(/.f64 (+.f64 y x) t)
(fma.f64 y t (*.f64 t x))
(*.f64 (+.f64 y x) t)
y
t
(*.f64 t x)
x
(*.f64 t t)
#s(literal 1/2 binary64)

localize89.0ms (1.8%)

Memory
14.1MiB live, 103.2MiB allocated; 15ms collecting garbage
Localize:

Found 18 expressions of interest:

NewMetricScoreProgram
accuracy0.2028933699265769
(*.f64 (/.f64 (fma.f64 y t (*.f64 t x)) (*.f64 t t)) #s(literal 1/2 binary64))
accuracy0.5039007452111204
(fma.f64 y t (*.f64 t x))
accuracy17.480689807623126
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 (fma.f64 y t (*.f64 t x)) (*.f64 t t)) #s(literal 1/2 binary64)))
accuracy22.12255621840123
(/.f64 (fma.f64 y t (*.f64 t x)) (*.f64 t t))
accuracy0.0
(-.f64 y z)
accuracy0.0
(+.f64 t t)
accuracy0.015625
(/.f64 #s(approx (- (+ x y) z) (-.f64 y z)) (+.f64 t t))
accuracy24.480653685848864
#s(approx (- (+ x y) z) (-.f64 y z))
accuracy0.0
(/.f64 #s(literal 1/2 binary64) t)
accuracy0.15625
(*.f64 (/.f64 #s(literal 1/2 binary64) t) y)
accuracy41.14302547853396
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 #s(literal 1/2 binary64) t) y))
accuracy0.0
(/.f64 #s(literal 1/2 binary64) t)
accuracy0.21484375
(*.f64 x (/.f64 #s(literal 1/2 binary64) t))
accuracy38.10768904464938
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 x (/.f64 #s(literal 1/2 binary64) t)))
accuracy0.0
(+.f64 x y)
accuracy0.0
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (fma.f64 (/.f64 (+.f64 x y) z) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) (/.f64 z t)))
accuracy0.01171875
(/.f64 (+.f64 x y) z)
accuracy10.515462551677421
(*.f64 (fma.f64 (/.f64 (+.f64 x y) z) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) (/.f64 z t))
Samples
67.0ms256×0valid
Compiler

Compiled 163 to 30 computations (81.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 29.0ms
ival-mult: 12.0ms (41.9% of total)
ival-div: 9.0ms (31.4% of total)
ival-add: 4.0ms (14% of total)
ival-sub: 2.0ms (7% 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)

series89.0ms (1.8%)

Memory
6.2MiB live, 56.6MiB allocated; 22ms collecting garbage
Counts
18 → 97
Calls
Call 1
Inputs
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (fma.f64 (/.f64 (+.f64 x y) z) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) (/.f64 z t)))
(*.f64 (fma.f64 (/.f64 (+.f64 x y) z) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) (/.f64 z t))
(fma.f64 (/.f64 (+.f64 x y) z) #s(literal 1/2 binary64) #s(literal -1/2 binary64))
(/.f64 (+.f64 x y) z)
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 x (/.f64 #s(literal 1/2 binary64) t)))
(*.f64 x (/.f64 #s(literal 1/2 binary64) t))
(/.f64 #s(literal 1/2 binary64) t)
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 #s(literal 1/2 binary64) t) y))
(*.f64 (/.f64 #s(literal 1/2 binary64) t) y)
(/.f64 #s(approx (- (+ x y) z) (-.f64 y z)) (+.f64 t t))
#s(approx (- (+ x y) z) (-.f64 y z))
(-.f64 y z)
(+.f64 t t)
(/.f64 (fma.f64 y t (*.f64 t x)) (*.f64 t t))
(fma.f64 y t (*.f64 t x))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 (fma.f64 y t (*.f64 t x)) (*.f64 t t)) #s(literal 1/2 binary64)))
(*.f64 (/.f64 (fma.f64 y t (*.f64 t x)) (*.f64 t t)) #s(literal 1/2 binary64))
(+.f64 x y)
Outputs
(* 1/2 (/ (- y z) t))
(+ (* 1/2 (/ x t)) (* 1/2 (/ (- y z) t)))
(/ (* z (- (* 1/2 (/ y z)) 1/2)) t)
(+ (* 1/2 (/ x t)) (/ (* z (- (* 1/2 (/ y z)) 1/2)) t))
(- (* 1/2 (/ y z)) 1/2)
(- (+ (* 1/2 (/ x z)) (* 1/2 (/ y z))) 1/2)
(/ y z)
(+ (/ x z) (/ y z))
(* 1/2 (/ x t))
(- y z)
(- (+ x y) z)
(/ y t)
(+ (/ x t) (/ y t))
(* t y)
(+ (* t x) (* t y))
(* 1/2 (/ y t))
(+ (* 1/2 (/ x t)) (* 1/2 (/ y t)))
y
(+ x y)
(* x (+ (* 1/2 (/ (- (/ y t) (/ z t)) x)) (* 1/2 (/ 1 t))))
(* x (+ (* 1/2 (/ 1 t)) (/ (* z (- (* 1/2 (/ y z)) 1/2)) (* t x))))
(* 1/2 (/ x z))
(* x (- (+ (* 1/2 (/ y (* x z))) (* 1/2 (/ 1 z))) (* 1/2 (/ 1 x))))
(/ x z)
(* x (+ (/ 1 z) (/ y (* x z))))
x
(* x (- (+ 1 (/ y x)) (/ z x)))
(/ x t)
(* x (+ (/ 1 t) (/ y (* t x))))
(* t x)
(* x (+ t (/ (* t y) x)))
(* x (+ (* 1/2 (/ y (* t x))) (* 1/2 (/ 1 t))))
(* x (+ 1 (/ y x)))
(* -1 (* x (- (* -1/2 (/ (- (/ y t) (/ z t)) x)) (* 1/2 (/ 1 t)))))
(* -1 (* x (- (* -1 (/ (* z (- (* 1/2 (/ y z)) 1/2)) (* t x))) (* 1/2 (/ 1 t)))))
(* -1 (* x (- (* -1 (/ (- (* 1/2 (/ y z)) 1/2) x)) (* 1/2 (/ 1 z)))))
(* -1 (* x (- (* -1 (/ y (* x z))) (/ 1 z))))
(* -1 (* x (- (* -1 (/ (- y z) x)) 1)))
(* -1 (* x (- (* -1 (/ y (* t x))) (/ 1 t))))
(* -1 (* x (+ (* -1 t) (* -1 (/ (* t y) x)))))
(* -1 (* x (- (* -1/2 (/ y (* t x))) (* 1/2 (/ 1 t)))))
(* -1 (* x (- (* -1 (/ y x)) 1)))
(* 1/2 (/ (- x z) t))
(+ (* 1/2 (/ y t)) (* 1/2 (/ (- x z) t)))
(/ (* z (- (* 1/2 (/ x z)) 1/2)) t)
(+ (* 1/2 (/ y t)) (/ (* z (- (* 1/2 (/ x z)) 1/2)) t))
(- (* 1/2 (/ x z)) 1/2)
(- x z)
(* -1 z)
(* y (+ (* 1/2 (/ (- (/ x t) (/ z t)) y)) (* 1/2 (/ 1 t))))
(* y (+ (* 1/2 (/ 1 t)) (/ (* z (- (* 1/2 (/ x z)) 1/2)) (* t y))))
(* 1/2 (/ y z))
(* y (- (+ (* 1/2 (/ x (* y z))) (* 1/2 (/ 1 z))) (* 1/2 (/ 1 y))))
(* y (+ (/ 1 z) (/ x (* y z))))
(* y (- (+ 1 (/ x y)) (/ z y)))
(* y (+ 1 (* -1 (/ z y))))
(* y (+ (/ 1 t) (/ x (* t y))))
(* y (+ t (/ (* t x) y)))
(* y (+ (* 1/2 (/ x (* t y))) (* 1/2 (/ 1 t))))
(* y (+ 1 (/ x y)))
(* -1 (* y (- (* -1/2 (/ (- (/ x t) (/ z t)) y)) (* 1/2 (/ 1 t)))))
(* -1 (* y (- (* -1 (/ (* z (- (* 1/2 (/ x z)) 1/2)) (* t y))) (* 1/2 (/ 1 t)))))
(* -1 (* y (- (* -1 (/ (- (* 1/2 (/ x z)) 1/2) y)) (* 1/2 (/ 1 z)))))
(* -1 (* y (- (* -1 (/ x (* y z))) (/ 1 z))))
(* -1 (* y (- (* -1 (/ (- x z) y)) 1)))
(* -1 (* y (- (/ z y) 1)))
(* -1 (* y (- (* -1 (/ x (* t y))) (/ 1 t))))
(* -1 (* y (+ (* -1 t) (* -1 (/ (* t x) y)))))
(* -1 (* y (- (* -1/2 (/ x (* t y))) (* 1/2 (/ 1 t)))))
(* -1 (* y (- (* -1 (/ x y)) 1)))
(* 1/2 (/ (+ x y) t))
(+ (* -1/2 (/ z t)) (* 1/2 (/ (+ x y) t)))
(* 1/2 (/ (+ x y) z))
(/ (+ (* -1/2 z) (* 1/2 (+ x y))) z)
(/ (+ x y) z)
(+ x (+ y (* -1 z)))
(+ y (* -1 z))
(* -1/2 (/ z t))
(* z (- (* 1/2 (/ (+ (/ x t) (/ y t)) z)) (* 1/2 (/ 1 t))))
(* z (- (* 1/2 (/ (+ x y) (* t z))) (* 1/2 (/ 1 t))))
-1/2
(- (* 1/2 (/ (+ x y) z)) 1/2)
(* z (- (+ (/ x z) (/ y z)) 1))
(* z (- (/ y z) 1))
(* -1 (* z (+ (* -1/2 (/ (+ (/ x t) (/ y t)) z)) (* 1/2 (/ 1 t)))))
(* -1 (* z (+ (* -1/2 (/ (+ x y) (* t z))) (* 1/2 (/ 1 t)))))
(* -1 (* z (+ 1 (* -1 (/ (+ x y) z)))))
(* -1 (* z (+ 1 (* -1 (/ y z)))))
(* 1/2 (/ (- (+ x y) z) t))
(/ (* z (- (* 1/2 (/ (+ x y) z)) 1/2)) t)
(/ 1/2 t)
(* 2 t)
(/ (+ x y) t)
(* t (+ x y))
(* -1 (/ (+ (* -1 x) (* -1 y)) t))
(* -1 (* t (+ (* -1 x) (* -1 y))))
(* -1/2 (/ (+ (* -1 x) (* -1 y)) t))
Calls

12 calls:

TimeVariablePointExpression
58.0ms
z
@0
((/ (- (+ x y) z) (* t 2)) (* (+ (* (/ (+ x y) z) 1/2) -1/2) (/ z t)) (+ (* (/ (+ x y) z) 1/2) -1/2) (/ (+ x y) z) (/ (- (+ x y) z) (* t 2)) (* x (/ 1/2 t)) (/ 1/2 t) (/ (- (+ x y) z) (* t 2)) (* (/ 1/2 t) y) (/ (- (+ x y) z) (+ t t)) (- (+ x y) z) (- y z) (+ t t) (/ (+ (* y t) (* t x)) (* t t)) (+ (* y t) (* t x)) (/ (- (+ x y) z) (* t 2)) (* (/ (+ (* y t) (* t x)) (* t t)) 1/2) (+ x y))
7.0ms
y
@-inf
((/ (- (+ x y) z) (* t 2)) (* (+ (* (/ (+ x y) z) 1/2) -1/2) (/ z t)) (+ (* (/ (+ x y) z) 1/2) -1/2) (/ (+ x y) z) (/ (- (+ x y) z) (* t 2)) (* x (/ 1/2 t)) (/ 1/2 t) (/ (- (+ x y) z) (* t 2)) (* (/ 1/2 t) y) (/ (- (+ x y) z) (+ t t)) (- (+ x y) z) (- y z) (+ t t) (/ (+ (* y t) (* t x)) (* t t)) (+ (* y t) (* t x)) (/ (- (+ x y) z) (* t 2)) (* (/ (+ (* y t) (* t x)) (* t t)) 1/2) (+ x y))
4.0ms
t
@-inf
((/ (- (+ x y) z) (* t 2)) (* (+ (* (/ (+ x y) z) 1/2) -1/2) (/ z t)) (+ (* (/ (+ x y) z) 1/2) -1/2) (/ (+ x y) z) (/ (- (+ x y) z) (* t 2)) (* x (/ 1/2 t)) (/ 1/2 t) (/ (- (+ x y) z) (* t 2)) (* (/ 1/2 t) y) (/ (- (+ x y) z) (+ t t)) (- (+ x y) z) (- y z) (+ t t) (/ (+ (* y t) (* t x)) (* t t)) (+ (* y t) (* t x)) (/ (- (+ x y) z) (* t 2)) (* (/ (+ (* y t) (* t x)) (* t t)) 1/2) (+ x y))
3.0ms
t
@0
((/ (- (+ x y) z) (* t 2)) (* (+ (* (/ (+ x y) z) 1/2) -1/2) (/ z t)) (+ (* (/ (+ x y) z) 1/2) -1/2) (/ (+ x y) z) (/ (- (+ x y) z) (* t 2)) (* x (/ 1/2 t)) (/ 1/2 t) (/ (- (+ x y) z) (* t 2)) (* (/ 1/2 t) y) (/ (- (+ x y) z) (+ t t)) (- (+ x y) z) (- y z) (+ t t) (/ (+ (* y t) (* t x)) (* t t)) (+ (* y t) (* t x)) (/ (- (+ x y) z) (* t 2)) (* (/ (+ (* y t) (* t x)) (* t t)) 1/2) (+ x y))
3.0ms
t
@inf
((/ (- (+ x y) z) (* t 2)) (* (+ (* (/ (+ x y) z) 1/2) -1/2) (/ z t)) (+ (* (/ (+ x y) z) 1/2) -1/2) (/ (+ x y) z) (/ (- (+ x y) z) (* t 2)) (* x (/ 1/2 t)) (/ 1/2 t) (/ (- (+ x y) z) (* t 2)) (* (/ 1/2 t) y) (/ (- (+ x y) z) (+ t t)) (- (+ x y) z) (- y z) (+ t t) (/ (+ (* y t) (* t x)) (* t t)) (+ (* y t) (* t x)) (/ (- (+ x y) z) (* t 2)) (* (/ (+ (* y t) (* t x)) (* t t)) 1/2) (+ x y))

simplify165.0ms (3.3%)

Memory
-3.6MiB live, 180.5MiB allocated; 43ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0255862
1827826
22692806
08544765
Stop Event
iter limit
node limit
Counts
97 → 95
Calls
Call 1
Inputs
(* 1/2 (/ (- y z) t))
(+ (* 1/2 (/ x t)) (* 1/2 (/ (- y z) t)))
(/ (* z (- (* 1/2 (/ y z)) 1/2)) t)
(+ (* 1/2 (/ x t)) (/ (* z (- (* 1/2 (/ y z)) 1/2)) t))
(- (* 1/2 (/ y z)) 1/2)
(- (+ (* 1/2 (/ x z)) (* 1/2 (/ y z))) 1/2)
(/ y z)
(+ (/ x z) (/ y z))
(* 1/2 (/ x t))
(- y z)
(- (+ x y) z)
(/ y t)
(+ (/ x t) (/ y t))
(* t y)
(+ (* t x) (* t y))
(* 1/2 (/ y t))
(+ (* 1/2 (/ x t)) (* 1/2 (/ y t)))
y
(+ x y)
(* x (+ (* 1/2 (/ (- (/ y t) (/ z t)) x)) (* 1/2 (/ 1 t))))
(* x (+ (* 1/2 (/ 1 t)) (/ (* z (- (* 1/2 (/ y z)) 1/2)) (* t x))))
(* 1/2 (/ x z))
(* x (- (+ (* 1/2 (/ y (* x z))) (* 1/2 (/ 1 z))) (* 1/2 (/ 1 x))))
(/ x z)
(* x (+ (/ 1 z) (/ y (* x z))))
x
(* x (- (+ 1 (/ y x)) (/ z x)))
(/ x t)
(* x (+ (/ 1 t) (/ y (* t x))))
(* t x)
(* x (+ t (/ (* t y) x)))
(* x (+ (* 1/2 (/ y (* t x))) (* 1/2 (/ 1 t))))
(* x (+ 1 (/ y x)))
(* -1 (* x (- (* -1/2 (/ (- (/ y t) (/ z t)) x)) (* 1/2 (/ 1 t)))))
(* -1 (* x (- (* -1 (/ (* z (- (* 1/2 (/ y z)) 1/2)) (* t x))) (* 1/2 (/ 1 t)))))
(* -1 (* x (- (* -1 (/ (- (* 1/2 (/ y z)) 1/2) x)) (* 1/2 (/ 1 z)))))
(* -1 (* x (- (* -1 (/ y (* x z))) (/ 1 z))))
(* -1 (* x (- (* -1 (/ (- y z) x)) 1)))
(* -1 (* x (- (* -1 (/ y (* t x))) (/ 1 t))))
(* -1 (* x (+ (* -1 t) (* -1 (/ (* t y) x)))))
(* -1 (* x (- (* -1/2 (/ y (* t x))) (* 1/2 (/ 1 t)))))
(* -1 (* x (- (* -1 (/ y x)) 1)))
(* 1/2 (/ (- x z) t))
(+ (* 1/2 (/ y t)) (* 1/2 (/ (- x z) t)))
(/ (* z (- (* 1/2 (/ x z)) 1/2)) t)
(+ (* 1/2 (/ y t)) (/ (* z (- (* 1/2 (/ x z)) 1/2)) t))
(- (* 1/2 (/ x z)) 1/2)
(- x z)
(* -1 z)
(* y (+ (* 1/2 (/ (- (/ x t) (/ z t)) y)) (* 1/2 (/ 1 t))))
(* y (+ (* 1/2 (/ 1 t)) (/ (* z (- (* 1/2 (/ x z)) 1/2)) (* t y))))
(* 1/2 (/ y z))
(* y (- (+ (* 1/2 (/ x (* y z))) (* 1/2 (/ 1 z))) (* 1/2 (/ 1 y))))
(* y (+ (/ 1 z) (/ x (* y z))))
(* y (- (+ 1 (/ x y)) (/ z y)))
(* y (+ 1 (* -1 (/ z y))))
(* y (+ (/ 1 t) (/ x (* t y))))
(* y (+ t (/ (* t x) y)))
(* y (+ (* 1/2 (/ x (* t y))) (* 1/2 (/ 1 t))))
(* y (+ 1 (/ x y)))
(* -1 (* y (- (* -1/2 (/ (- (/ x t) (/ z t)) y)) (* 1/2 (/ 1 t)))))
(* -1 (* y (- (* -1 (/ (* z (- (* 1/2 (/ x z)) 1/2)) (* t y))) (* 1/2 (/ 1 t)))))
(* -1 (* y (- (* -1 (/ (- (* 1/2 (/ x z)) 1/2) y)) (* 1/2 (/ 1 z)))))
(* -1 (* y (- (* -1 (/ x (* y z))) (/ 1 z))))
(* -1 (* y (- (* -1 (/ (- x z) y)) 1)))
(* -1 (* y (- (/ z y) 1)))
(* -1 (* y (- (* -1 (/ x (* t y))) (/ 1 t))))
(* -1 (* y (+ (* -1 t) (* -1 (/ (* t x) y)))))
(* -1 (* y (- (* -1/2 (/ x (* t y))) (* 1/2 (/ 1 t)))))
(* -1 (* y (- (* -1 (/ x y)) 1)))
(* 1/2 (/ (+ x y) t))
(+ (* -1/2 (/ z t)) (* 1/2 (/ (+ x y) t)))
(* 1/2 (/ (+ x y) z))
(/ (+ (* -1/2 z) (* 1/2 (+ x y))) z)
(/ (+ x y) z)
(+ x (+ y (* -1 z)))
(+ y (* -1 z))
(* -1/2 (/ z t))
(* z (- (* 1/2 (/ (+ (/ x t) (/ y t)) z)) (* 1/2 (/ 1 t))))
(* z (- (* 1/2 (/ (+ x y) (* t z))) (* 1/2 (/ 1 t))))
-1/2
(- (* 1/2 (/ (+ x y) z)) 1/2)
(* z (- (+ (/ x z) (/ y z)) 1))
(* z (- (/ y z) 1))
(* -1 (* z (+ (* -1/2 (/ (+ (/ x t) (/ y t)) z)) (* 1/2 (/ 1 t)))))
(* -1 (* z (+ (* -1/2 (/ (+ x y) (* t z))) (* 1/2 (/ 1 t)))))
(* -1 (* z (+ 1 (* -1 (/ (+ x y) z)))))
(* -1 (* z (+ 1 (* -1 (/ y z)))))
(* 1/2 (/ (- (+ x y) z) t))
(/ (* z (- (* 1/2 (/ (+ x y) z)) 1/2)) t)
(/ 1/2 t)
(* 2 t)
(/ (+ x y) t)
(* t (+ x y))
(* -1 (/ (+ (* -1 x) (* -1 y)) t))
(* -1 (* t (+ (* -1 x) (* -1 y))))
(* -1/2 (/ (+ (* -1 x) (* -1 y)) t))
Outputs
(* 1/2 (/ (- y z) t))
(*.f64 (/.f64 (-.f64 y z) t) #s(literal 1/2 binary64))
(+ (* 1/2 (/ x t)) (* 1/2 (/ (- y z) t)))
(*.f64 (/.f64 (-.f64 (+.f64 y x) z) t) #s(literal 1/2 binary64))
(/ (* z (- (* 1/2 (/ y z)) 1/2)) t)
(/.f64 (*.f64 (fma.f64 (/.f64 y z) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) z) t)
(+ (* 1/2 (/ x t)) (/ (* z (- (* 1/2 (/ y z)) 1/2)) t))
(/.f64 (fma.f64 (fma.f64 (/.f64 y z) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) z (*.f64 #s(literal 1/2 binary64) x)) t)
(- (* 1/2 (/ y z)) 1/2)
(fma.f64 (/.f64 y z) #s(literal 1/2 binary64) #s(literal -1/2 binary64))
(- (+ (* 1/2 (/ x z)) (* 1/2 (/ y z))) 1/2)
(fma.f64 (/.f64 (+.f64 y x) z) #s(literal 1/2 binary64) #s(literal -1/2 binary64))
(/ y z)
(/.f64 y z)
(+ (/ x z) (/ y z))
(/.f64 (+.f64 y x) z)
(* 1/2 (/ x t))
(*.f64 (/.f64 x t) #s(literal 1/2 binary64))
(- y z)
(-.f64 y z)
(- (+ x y) z)
(-.f64 (+.f64 y x) z)
(/ y t)
(/.f64 y t)
(+ (/ x t) (/ y t))
(/.f64 (+.f64 y x) t)
(* t y)
(*.f64 t y)
(+ (* t x) (* t y))
(*.f64 t (+.f64 y x))
(* 1/2 (/ y t))
(*.f64 (/.f64 y t) #s(literal 1/2 binary64))
(+ (* 1/2 (/ x t)) (* 1/2 (/ y t)))
(*.f64 (/.f64 (+.f64 y x) t) #s(literal 1/2 binary64))
y
(+ x y)
(+.f64 y x)
(* x (+ (* 1/2 (/ (- (/ y t) (/ z t)) x)) (* 1/2 (/ 1 t))))
(*.f64 (fma.f64 (/.f64 (/.f64 (-.f64 y z) t) x) #s(literal 1/2 binary64) (/.f64 #s(literal 1/2 binary64) t)) x)
(* x (+ (* 1/2 (/ 1 t)) (/ (* z (- (* 1/2 (/ y z)) 1/2)) (* t x))))
(*.f64 (/.f64 (fma.f64 z (/.f64 (fma.f64 (/.f64 y z) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) x) #s(literal 1/2 binary64)) t) x)
(* 1/2 (/ x z))
(*.f64 (/.f64 x z) #s(literal 1/2 binary64))
(* x (- (+ (* 1/2 (/ y (* x z))) (* 1/2 (/ 1 z))) (* 1/2 (/ 1 x))))
(*.f64 (fma.f64 (/.f64 (-.f64 (/.f64 y x) #s(literal -1 binary64)) z) #s(literal 1/2 binary64) (/.f64 #s(literal -1/2 binary64) x)) x)
(/ x z)
(/.f64 x z)
(* x (+ (/ 1 z) (/ y (* x z))))
(/.f64 (fma.f64 (/.f64 y x) x x) z)
x
(* x (- (+ 1 (/ y x)) (/ z x)))
(fma.f64 (/.f64 (-.f64 y z) x) x x)
(/ x t)
(/.f64 x t)
(* x (+ (/ 1 t) (/ y (* t x))))
(*.f64 (/.f64 (-.f64 (/.f64 y x) #s(literal -1 binary64)) t) x)
(* t x)
(*.f64 t x)
(* x (+ t (/ (* t y) x)))
(*.f64 (fma.f64 (/.f64 y x) t t) x)
(* x (+ (* 1/2 (/ y (* t x))) (* 1/2 (/ 1 t))))
(*.f64 (/.f64 (fma.f64 (/.f64 y x) #s(literal 1/2 binary64) #s(literal 1/2 binary64)) t) x)
(* x (+ 1 (/ y x)))
(fma.f64 (/.f64 y x) x x)
(* -1 (* x (- (* -1/2 (/ (- (/ y t) (/ z t)) x)) (* 1/2 (/ 1 t)))))
(*.f64 (fma.f64 (/.f64 (/.f64 (-.f64 y z) t) x) #s(literal 1/2 binary64) (/.f64 #s(literal 1/2 binary64) t)) x)
(* -1 (* x (- (* -1 (/ (* z (- (* 1/2 (/ y z)) 1/2)) (* t x))) (* 1/2 (/ 1 t)))))
(*.f64 (/.f64 (fma.f64 z (/.f64 (fma.f64 (/.f64 y z) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) x) #s(literal 1/2 binary64)) t) x)
(* -1 (* x (- (* -1 (/ (- (* 1/2 (/ y z)) 1/2) x)) (* 1/2 (/ 1 z)))))
(*.f64 (fma.f64 (/.f64 (-.f64 (/.f64 y x) #s(literal -1 binary64)) z) #s(literal 1/2 binary64) (/.f64 #s(literal -1/2 binary64) x)) x)
(* -1 (* x (- (* -1 (/ y (* x z))) (/ 1 z))))
(*.f64 (neg.f64 x) (-.f64 (/.f64 (neg.f64 y) (*.f64 z x)) (/.f64 #s(literal 1 binary64) z)))
(* -1 (* x (- (* -1 (/ (- y z) x)) 1)))
(*.f64 (neg.f64 x) (fma.f64 (/.f64 (-.f64 y z) x) #s(literal -1 binary64) #s(literal -1 binary64)))
(* -1 (* x (- (* -1 (/ y (* t x))) (/ 1 t))))
(*.f64 (neg.f64 x) (-.f64 (/.f64 (/.f64 (neg.f64 y) t) x) (/.f64 #s(literal 1 binary64) t)))
(* -1 (* x (+ (* -1 t) (* -1 (/ (* t y) x)))))
(*.f64 (fma.f64 (/.f64 y x) t t) x)
(* -1 (* x (- (* -1/2 (/ y (* t x))) (* 1/2 (/ 1 t)))))
(*.f64 (/.f64 (fma.f64 (/.f64 y x) #s(literal 1/2 binary64) #s(literal 1/2 binary64)) t) x)
(* -1 (* x (- (* -1 (/ y x)) 1)))
(*.f64 (neg.f64 x) (fma.f64 #s(literal -1 binary64) (/.f64 y x) #s(literal -1 binary64)))
(* 1/2 (/ (- x z) t))
(*.f64 (/.f64 (-.f64 x z) t) #s(literal 1/2 binary64))
(+ (* 1/2 (/ y t)) (* 1/2 (/ (- x z) t)))
(*.f64 (/.f64 (-.f64 (+.f64 y x) z) t) #s(literal 1/2 binary64))
(/ (* z (- (* 1/2 (/ x z)) 1/2)) t)
(/.f64 (*.f64 (fma.f64 (/.f64 x z) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) z) t)
(+ (* 1/2 (/ y t)) (/ (* z (- (* 1/2 (/ x z)) 1/2)) t))
(/.f64 (fma.f64 (fma.f64 (/.f64 x z) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) z (*.f64 #s(literal 1/2 binary64) y)) t)
(- (* 1/2 (/ x z)) 1/2)
(fma.f64 (/.f64 x z) #s(literal 1/2 binary64) #s(literal -1/2 binary64))
(- x z)
(-.f64 x z)
(* -1 z)
(neg.f64 z)
(* y (+ (* 1/2 (/ (- (/ x t) (/ z t)) y)) (* 1/2 (/ 1 t))))
(*.f64 (fma.f64 (/.f64 (/.f64 (-.f64 x z) t) y) #s(literal 1/2 binary64) (/.f64 #s(literal 1/2 binary64) t)) y)
(* y (+ (* 1/2 (/ 1 t)) (/ (* z (- (* 1/2 (/ x z)) 1/2)) (* t y))))
(*.f64 (/.f64 (fma.f64 z (/.f64 (fma.f64 (/.f64 x z) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) y) #s(literal 1/2 binary64)) t) y)
(* 1/2 (/ y z))
(*.f64 (/.f64 y z) #s(literal 1/2 binary64))
(* y (- (+ (* 1/2 (/ x (* y z))) (* 1/2 (/ 1 z))) (* 1/2 (/ 1 y))))
(*.f64 (fma.f64 (/.f64 (-.f64 (/.f64 x y) #s(literal -1 binary64)) z) #s(literal 1/2 binary64) (/.f64 #s(literal -1/2 binary64) y)) y)
(* y (+ (/ 1 z) (/ x (* y z))))
(/.f64 (fma.f64 (/.f64 x y) y y) z)
(* y (- (+ 1 (/ x y)) (/ z y)))
(fma.f64 (/.f64 (-.f64 x z) y) y y)
(* y (+ 1 (* -1 (/ z y))))
(*.f64 (-.f64 #s(literal 1 binary64) (/.f64 z y)) y)
(* y (+ (/ 1 t) (/ x (* t y))))
(*.f64 (/.f64 (-.f64 (/.f64 x y) #s(literal -1 binary64)) t) y)
(* y (+ t (/ (* t x) y)))
(*.f64 (fma.f64 (/.f64 x y) t t) y)
(* y (+ (* 1/2 (/ x (* t y))) (* 1/2 (/ 1 t))))
(*.f64 (/.f64 (fma.f64 (/.f64 x y) #s(literal 1/2 binary64) #s(literal 1/2 binary64)) t) y)
(* y (+ 1 (/ x y)))
(fma.f64 (/.f64 x y) y y)
(* -1 (* y (- (* -1/2 (/ (- (/ x t) (/ z t)) y)) (* 1/2 (/ 1 t)))))
(*.f64 (fma.f64 (/.f64 (/.f64 (-.f64 x z) t) y) #s(literal 1/2 binary64) (/.f64 #s(literal 1/2 binary64) t)) y)
(* -1 (* y (- (* -1 (/ (* z (- (* 1/2 (/ x z)) 1/2)) (* t y))) (* 1/2 (/ 1 t)))))
(*.f64 (/.f64 (fma.f64 z (/.f64 (fma.f64 (/.f64 x z) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) y) #s(literal 1/2 binary64)) t) y)
(* -1 (* y (- (* -1 (/ (- (* 1/2 (/ x z)) 1/2) y)) (* 1/2 (/ 1 z)))))
(*.f64 (fma.f64 (/.f64 (-.f64 (/.f64 x y) #s(literal -1 binary64)) z) #s(literal 1/2 binary64) (/.f64 #s(literal -1/2 binary64) y)) y)
(* -1 (* y (- (* -1 (/ x (* y z))) (/ 1 z))))
(*.f64 (neg.f64 y) (-.f64 (/.f64 (/.f64 (neg.f64 x) z) y) (/.f64 #s(literal 1 binary64) z)))
(* -1 (* y (- (* -1 (/ (- x z) y)) 1)))
(*.f64 (neg.f64 y) (fma.f64 (/.f64 (-.f64 x z) y) #s(literal -1 binary64) #s(literal -1 binary64)))
(* -1 (* y (- (/ z y) 1)))
(*.f64 (-.f64 #s(literal 1 binary64) (/.f64 z y)) y)
(* -1 (* y (- (* -1 (/ x (* t y))) (/ 1 t))))
(*.f64 (neg.f64 y) (-.f64 (/.f64 (/.f64 (neg.f64 x) t) y) (/.f64 #s(literal 1 binary64) t)))
(* -1 (* y (+ (* -1 t) (* -1 (/ (* t x) y)))))
(*.f64 (fma.f64 (/.f64 x y) t t) y)
(* -1 (* y (- (* -1/2 (/ x (* t y))) (* 1/2 (/ 1 t)))))
(*.f64 (/.f64 (fma.f64 (/.f64 x y) #s(literal 1/2 binary64) #s(literal 1/2 binary64)) t) y)
(* -1 (* y (- (* -1 (/ x y)) 1)))
(*.f64 (neg.f64 y) (fma.f64 (/.f64 x y) #s(literal -1 binary64) #s(literal -1 binary64)))
(* 1/2 (/ (+ x y) t))
(*.f64 (/.f64 (+.f64 y x) t) #s(literal 1/2 binary64))
(+ (* -1/2 (/ z t)) (* 1/2 (/ (+ x y) t)))
(*.f64 (/.f64 (-.f64 (+.f64 y x) z) t) #s(literal 1/2 binary64))
(* 1/2 (/ (+ x y) z))
(*.f64 (/.f64 (+.f64 y x) z) #s(literal 1/2 binary64))
(/ (+ (* -1/2 z) (* 1/2 (+ x y))) z)
(fma.f64 (/.f64 (+.f64 y x) z) #s(literal 1/2 binary64) #s(literal -1/2 binary64))
(/ (+ x y) z)
(/.f64 (+.f64 y x) z)
(+ x (+ y (* -1 z)))
(-.f64 (+.f64 y x) z)
(+ y (* -1 z))
(-.f64 y z)
(* -1/2 (/ z t))
(*.f64 #s(literal -1/2 binary64) (/.f64 z t))
(* z (- (* 1/2 (/ (+ (/ x t) (/ y t)) z)) (* 1/2 (/ 1 t))))
(*.f64 (/.f64 (-.f64 (+.f64 y x) z) t) #s(literal 1/2 binary64))
(* z (- (* 1/2 (/ (+ x y) (* t z))) (* 1/2 (/ 1 t))))
(*.f64 (/.f64 (-.f64 (+.f64 y x) z) t) #s(literal 1/2 binary64))
-1/2
#s(literal -1/2 binary64)
(- (* 1/2 (/ (+ x y) z)) 1/2)
(fma.f64 (/.f64 (+.f64 y x) z) #s(literal 1/2 binary64) #s(literal -1/2 binary64))
(* z (- (+ (/ x z) (/ y z)) 1))
(*.f64 (-.f64 (/.f64 (+.f64 y x) z) #s(literal 1 binary64)) z)
(* z (- (/ y z) 1))
(*.f64 (-.f64 (/.f64 y z) #s(literal 1 binary64)) z)
(* -1 (* z (+ (* -1/2 (/ (+ (/ x t) (/ y t)) z)) (* 1/2 (/ 1 t)))))
(*.f64 (/.f64 (-.f64 (+.f64 y x) z) t) #s(literal 1/2 binary64))
(* -1 (* z (+ (* -1/2 (/ (+ x y) (* t z))) (* 1/2 (/ 1 t)))))
(*.f64 (/.f64 (-.f64 (+.f64 y x) z) t) #s(literal 1/2 binary64))
(* -1 (* z (+ 1 (* -1 (/ (+ x y) z)))))
(*.f64 (-.f64 (/.f64 (+.f64 y x) z) #s(literal 1 binary64)) z)
(* -1 (* z (+ 1 (* -1 (/ y z)))))
(*.f64 (-.f64 (/.f64 y z) #s(literal 1 binary64)) z)
(* 1/2 (/ (- (+ x y) z) t))
(*.f64 (/.f64 (-.f64 (+.f64 y x) z) t) #s(literal 1/2 binary64))
(/ (* z (- (* 1/2 (/ (+ x y) z)) 1/2)) t)
(*.f64 (/.f64 (-.f64 (+.f64 y x) z) t) #s(literal 1/2 binary64))
(/ 1/2 t)
(/.f64 #s(literal 1/2 binary64) t)
(* 2 t)
(*.f64 #s(literal 2 binary64) t)
(/ (+ x y) t)
(/.f64 (+.f64 y x) t)
(* t (+ x y))
(*.f64 t (+.f64 y x))
(* -1 (/ (+ (* -1 x) (* -1 y)) t))
(/.f64 (+.f64 y x) t)
(* -1 (* t (+ (* -1 x) (* -1 y))))
(*.f64 t (+.f64 y x))
(* -1/2 (/ (+ (* -1 x) (* -1 y)) t))
(*.f64 (/.f64 (+.f64 y x) t) #s(literal 1/2 binary64))

rewrite27.0ms (0.5%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
032171
050171
0178171
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
18 → 55
Calls
Call 1
Inputs
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (fma.f64 (/.f64 (+.f64 x y) z) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) (/.f64 z t)))
(*.f64 (fma.f64 (/.f64 (+.f64 x y) z) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) (/.f64 z t))
(fma.f64 (/.f64 (+.f64 x y) z) #s(literal 1/2 binary64) #s(literal -1/2 binary64))
(/.f64 (+.f64 x y) z)
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 x (/.f64 #s(literal 1/2 binary64) t)))
(*.f64 x (/.f64 #s(literal 1/2 binary64) t))
(/.f64 #s(literal 1/2 binary64) t)
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 #s(literal 1/2 binary64) t) y))
(*.f64 (/.f64 #s(literal 1/2 binary64) t) y)
(/.f64 #s(approx (- (+ x y) z) (-.f64 y z)) (+.f64 t t))
#s(approx (- (+ x y) z) (-.f64 y z))
(-.f64 y z)
(+.f64 t t)
(/.f64 (fma.f64 y t (*.f64 t x)) (*.f64 t t))
(fma.f64 y t (*.f64 t x))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 (fma.f64 y t (*.f64 t x)) (*.f64 t t)) #s(literal 1/2 binary64)))
(*.f64 (/.f64 (fma.f64 y t (*.f64 t x)) (*.f64 t t)) #s(literal 1/2 binary64))
(+.f64 x y)
Outputs
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 z t) (fma.f64 #s(literal 1/2 binary64) (/.f64 (+.f64 y x) z) #s(literal -1/2 binary64))))
(*.f64 (/.f64 z t) (fma.f64 #s(literal 1/2 binary64) (/.f64 (+.f64 y x) z) #s(literal -1/2 binary64)))
(*.f64 (fma.f64 #s(literal 1/2 binary64) (/.f64 (+.f64 y x) z) #s(literal -1/2 binary64)) (/.f64 z t))
(/.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) (/.f64 (+.f64 y x) z) #s(literal -1/2 binary64)) z) t)
(/.f64 (-.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 (+.f64 y x) z)) (*.f64 #s(literal 1/2 binary64) (/.f64 (+.f64 y x) z))) #s(literal 1/4 binary64)) (-.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 (+.f64 y x) z)) #s(literal -1/2 binary64)))
(/.f64 (+.f64 (pow.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 (+.f64 y x) z)) #s(literal 3 binary64)) #s(literal -1/8 binary64)) (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 (+.f64 y x) z)) (*.f64 #s(literal 1/2 binary64) (/.f64 (+.f64 y x) z)) (-.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 (+.f64 y x) z)) #s(literal -1/2 binary64)))))
(fma.f64 #s(literal 1/2 binary64) (/.f64 (+.f64 y x) z) #s(literal -1/2 binary64))
(fma.f64 (/.f64 (+.f64 y x) z) #s(literal 1/2 binary64) #s(literal -1/2 binary64))
(+.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 (+.f64 y x) z)) #s(literal -1/2 binary64))
(+.f64 #s(literal -1/2 binary64) (*.f64 #s(literal 1/2 binary64) (/.f64 (+.f64 y x) z)))
(/.f64 (neg.f64 (+.f64 y x)) (neg.f64 z))
(/.f64 (+.f64 y x) z)
(+.f64 (/.f64 x z) (/.f64 y z))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 #s(literal 1/2 binary64) t) x))
(*.f64 (/.f64 #s(literal 1/2 binary64) t) x)
(*.f64 x (/.f64 #s(literal 1/2 binary64) t))
(/.f64 (*.f64 x #s(literal 1/2 binary64)) t)
(/.f64 #s(literal -1/2 binary64) (neg.f64 t))
(/.f64 #s(literal 1/2 binary64) t)
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 #s(literal 1/2 binary64) t) y))
(*.f64 (/.f64 #s(literal 1/2 binary64) t) y)
(*.f64 y (/.f64 #s(literal 1/2 binary64) t))
(/.f64 (*.f64 #s(literal 1/2 binary64) y) t)
(/.f64 (neg.f64 #s(approx (- (+ x y) z) (-.f64 y z))) (neg.f64 (*.f64 #s(literal 2 binary64) t)))
(/.f64 #s(approx (- (+ x y) z) (-.f64 y z)) (*.f64 #s(literal 2 binary64) t))
#s(approx (- (+ x y) z) (-.f64 y z))
(/.f64 (-.f64 (*.f64 y y) (*.f64 z z)) (+.f64 y z))
(/.f64 (-.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64))) (fma.f64 y y (fma.f64 z z (*.f64 y z))))
(-.f64 y z)
(*.f64 #s(literal 2 binary64) t)
(*.f64 t #s(literal 2 binary64))
(/.f64 (-.f64 (*.f64 t t) (*.f64 t t)) (-.f64 t t))
(/.f64 (+.f64 (pow.f64 t #s(literal 3 binary64)) (pow.f64 t #s(literal 3 binary64))) (fma.f64 t t (-.f64 (*.f64 t t) (*.f64 t t))))
(+.f64 t t)
(/.f64 (/.f64 (fma.f64 t y (*.f64 t x)) t) t)
(/.f64 (neg.f64 (fma.f64 t y (*.f64 t x))) (neg.f64 (*.f64 t t)))
(/.f64 (fma.f64 t y (*.f64 t x)) (*.f64 t t))
(+.f64 (/.f64 (*.f64 t y) (*.f64 t t)) (/.f64 (*.f64 t x) (*.f64 t t)))
(/.f64 (-.f64 (*.f64 (*.f64 t y) (*.f64 t y)) (*.f64 (*.f64 t x) (*.f64 t x))) (-.f64 (*.f64 t y) (*.f64 t x)))
(/.f64 (+.f64 (pow.f64 (*.f64 t y) #s(literal 3 binary64)) (pow.f64 (*.f64 t x) #s(literal 3 binary64))) (fma.f64 (*.f64 t y) (*.f64 t y) (-.f64 (*.f64 (*.f64 t x) (*.f64 t x)) (*.f64 (*.f64 t y) (*.f64 t x)))))
(fma.f64 t y (*.f64 t x))
(fma.f64 t x (*.f64 t y))
(fma.f64 y t (*.f64 t x))
(fma.f64 x t (*.f64 t y))
(-.f64 (*.f64 t y) (*.f64 (neg.f64 t) x))
(+.f64 (*.f64 t y) (*.f64 t x))
(+.f64 (*.f64 t x) (*.f64 t y))
#s(approx (/ (- (+ x y) z) (* t 2)) (/.f64 (*.f64 (fma.f64 t y (*.f64 t x)) #s(literal 1/2 binary64)) (*.f64 t t)))
(*.f64 (/.f64 (/.f64 (fma.f64 t y (*.f64 t x)) t) t) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (/.f64 (/.f64 (fma.f64 t y (*.f64 t x)) t) t))
(/.f64 (*.f64 (fma.f64 t y (*.f64 t x)) #s(literal 1/2 binary64)) (*.f64 t t))
(/.f64 (-.f64 (*.f64 x x) (*.f64 y y)) (-.f64 x y))
(/.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64))) (fma.f64 x x (-.f64 (*.f64 y y) (*.f64 x y))))
(+.f64 y x)
(+.f64 x y)

eval27.0ms (0.5%)

Memory
-18.8MiB live, 25.4MiB allocated; 8ms collecting garbage
Compiler

Compiled 3 058 to 528 computations (82.7% saved)

prune9.0ms (0.2%)

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

12 alts after pruning (6 fresh and 6 done)

PrunedKeptTotal
New1176123
Fresh505
Picked235
Done033
Total12412136
Accuracy
100.0%
Counts
136 → 12
Alt Table
Click to see full alt table
StatusAccuracyProgram
63.2%
(/.f64 #s(approx (- (+ x y) z) (-.f64 y z)) (+.f64 t t))
69.2%
(/.f64 #s(approx (- (+ x y) z) (-.f64 x z)) (+.f64 t t))
55.5%
(/.f64 #s(approx (- (+ x y) z) #s(approx (- y z) (*.f64 (-.f64 (/.f64 y z) #s(literal 1 binary64)) z))) (+.f64 t t))
33.4%
(/.f64 #s(approx (- (+ x y) z) #s(approx (- y z) (neg.f64 z))) (+.f64 t t))
35.7%
#s(approx (/ (- (+ x y) z) (* t 2)) (/.f64 (*.f64 #s(literal 1/2 binary64) y) t))
61.6%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (fma.f64 #s(approx (/ (+ x y) z) (/.f64 x z)) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) (/.f64 z t)))
48.9%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 (fma.f64 x t (*.f64 t y)) (*.f64 t t)) #s(literal 1/2 binary64)))
72.4%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 (+.f64 y x) t) #s(literal 1/2 binary64)))
40.1%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 x t) #s(literal 1/2 binary64)))
35.7%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 #s(literal 1/2 binary64) t) y))
33.4%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 #s(literal -1/2 binary64) t) z))
40.3%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 x (/.f64 #s(literal 1/2 binary64) t)))
Compiler

Compiled 316 to 244 computations (22.8% saved)

simplify201.0ms (4%)

Memory
-0.8MiB live, 284.9MiB allocated; 61ms collecting garbage
Localize:

Found 19 expressions of interest:

NewMetricScoreProgram
cost-diff0
#s(approx (/ (+ x y) z) (/.f64 x z))
cost-diff0
(fma.f64 #s(approx (/ (+ x y) z) (/.f64 x z)) #s(literal 1/2 binary64) #s(literal -1/2 binary64))
cost-diff0
(*.f64 (fma.f64 #s(approx (/ (+ x y) z) (/.f64 x z)) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) (/.f64 z t))
cost-diff0
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (fma.f64 #s(approx (/ (+ x y) z) (/.f64 x z)) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) (/.f64 z t)))
cost-diff0
(*.f64 (/.f64 (fma.f64 x t (*.f64 t y)) (*.f64 t t)) #s(literal 1/2 binary64))
cost-diff0
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 (fma.f64 x t (*.f64 t y)) (*.f64 t t)) #s(literal 1/2 binary64)))
cost-diff1
(fma.f64 x t (*.f64 t y))
cost-diff4
(/.f64 (fma.f64 x t (*.f64 t y)) (*.f64 t t))
cost-diff0
(neg.f64 z)
cost-diff0
#s(approx (- y z) (neg.f64 z))
cost-diff0
#s(approx (- (+ x y) z) #s(approx (- y z) (neg.f64 z)))
cost-diff0
(/.f64 #s(approx (- (+ x y) z) #s(approx (- y z) (neg.f64 z))) (+.f64 t t))
cost-diff0
(*.f64 #s(literal 1/2 binary64) y)
cost-diff0
(/.f64 (*.f64 #s(literal 1/2 binary64) y) t)
cost-diff0
#s(approx (/ (- (+ x y) z) (* t 2)) (/.f64 (*.f64 #s(literal 1/2 binary64) y) t))
cost-diff0
(+.f64 t t)
cost-diff0
(-.f64 x z)
cost-diff0
#s(approx (- (+ x y) z) (-.f64 x z))
cost-diff0
(/.f64 #s(approx (- (+ x y) z) (-.f64 x z)) (+.f64 t t))
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
036232
054232
194228
2250222
3819216
43456216
08549216
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(/.f64 #s(approx (- (+ x y) z) (-.f64 x z)) (+.f64 t t))
#s(approx (- (+ x y) z) (-.f64 x z))
(-.f64 x z)
x
z
(+.f64 t t)
t
#s(approx (/ (- (+ x y) z) (* t 2)) (/.f64 (*.f64 #s(literal 1/2 binary64) y) t))
(/.f64 (*.f64 #s(literal 1/2 binary64) y) t)
(*.f64 #s(literal 1/2 binary64) y)
#s(literal 1/2 binary64)
y
t
(/.f64 #s(approx (- (+ x y) z) #s(approx (- y z) (neg.f64 z))) (+.f64 t t))
#s(approx (- (+ x y) z) #s(approx (- y z) (neg.f64 z)))
#s(approx (- y z) (neg.f64 z))
(neg.f64 z)
z
(+.f64 t t)
t
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 (fma.f64 x t (*.f64 t y)) (*.f64 t t)) #s(literal 1/2 binary64)))
(*.f64 (/.f64 (fma.f64 x t (*.f64 t y)) (*.f64 t t)) #s(literal 1/2 binary64))
(/.f64 (fma.f64 x t (*.f64 t y)) (*.f64 t t))
(fma.f64 x t (*.f64 t y))
x
t
(*.f64 t y)
y
(*.f64 t t)
#s(literal 1/2 binary64)
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (fma.f64 #s(approx (/ (+ x y) z) (/.f64 x z)) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) (/.f64 z t)))
(*.f64 (fma.f64 #s(approx (/ (+ x y) z) (/.f64 x z)) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) (/.f64 z t))
(fma.f64 #s(approx (/ (+ x y) z) (/.f64 x z)) #s(literal 1/2 binary64) #s(literal -1/2 binary64))
#s(approx (/ (+ x y) z) (/.f64 x z))
(/.f64 x z)
x
z
#s(literal 1/2 binary64)
#s(literal -1/2 binary64)
(/.f64 z t)
t
Outputs
(/.f64 #s(approx (- (+ x y) z) (-.f64 x z)) (+.f64 t t))
(/.f64 #s(approx (- (+ x y) z) (-.f64 x z)) (*.f64 #s(literal 2 binary64) t))
#s(approx (- (+ x y) z) (-.f64 x z))
(-.f64 x z)
x
z
(+.f64 t t)
(*.f64 #s(literal 2 binary64) t)
t
#s(approx (/ (- (+ x y) z) (* t 2)) (/.f64 (*.f64 #s(literal 1/2 binary64) y) t))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 #s(literal 1/2 binary64) t) y))
(/.f64 (*.f64 #s(literal 1/2 binary64) y) t)
(*.f64 (/.f64 #s(literal 1/2 binary64) t) y)
(*.f64 #s(literal 1/2 binary64) y)
#s(literal 1/2 binary64)
y
t
(/.f64 #s(approx (- (+ x y) z) #s(approx (- y z) (neg.f64 z))) (+.f64 t t))
(/.f64 #s(approx (- (+ x y) z) #s(approx (- y z) (neg.f64 z))) (*.f64 #s(literal 2 binary64) t))
#s(approx (- (+ x y) z) #s(approx (- y z) (neg.f64 z)))
#s(approx (- y z) (neg.f64 z))
(neg.f64 z)
z
(+.f64 t t)
(*.f64 #s(literal 2 binary64) t)
t
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 (fma.f64 x t (*.f64 t y)) (*.f64 t t)) #s(literal 1/2 binary64)))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 (+.f64 y x) t) #s(literal 1/2 binary64)))
(*.f64 (/.f64 (fma.f64 x t (*.f64 t y)) (*.f64 t t)) #s(literal 1/2 binary64))
(*.f64 (/.f64 (+.f64 y x) t) #s(literal 1/2 binary64))
(/.f64 (fma.f64 x t (*.f64 t y)) (*.f64 t t))
(/.f64 (+.f64 y x) t)
(fma.f64 x t (*.f64 t y))
(*.f64 t (+.f64 y x))
x
t
(*.f64 t y)
y
(*.f64 t t)
#s(literal 1/2 binary64)
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (fma.f64 #s(approx (/ (+ x y) z) (/.f64 x z)) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) (/.f64 z t)))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 z t) (fma.f64 #s(approx (/ (+ x y) z) (/.f64 x z)) #s(literal 1/2 binary64) #s(literal -1/2 binary64))))
(*.f64 (fma.f64 #s(approx (/ (+ x y) z) (/.f64 x z)) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) (/.f64 z t))
(*.f64 (/.f64 z t) (fma.f64 #s(approx (/ (+ x y) z) (/.f64 x z)) #s(literal 1/2 binary64) #s(literal -1/2 binary64)))
(fma.f64 #s(approx (/ (+ x y) z) (/.f64 x z)) #s(literal 1/2 binary64) #s(literal -1/2 binary64))
#s(approx (/ (+ x y) z) (/.f64 x z))
(/.f64 x z)
x
z
#s(literal 1/2 binary64)
#s(literal -1/2 binary64)
(/.f64 z t)
t

localize86.0ms (1.7%)

Memory
-36.2MiB live, 208.2MiB allocated; 34ms collecting garbage
Localize:

Found 19 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(/.f64 x z)
accuracy0.0
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (fma.f64 #s(approx (/ (+ x y) z) (/.f64 x z)) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) (/.f64 z t)))
accuracy10.515462551677421
(*.f64 (fma.f64 #s(approx (/ (+ x y) z) (/.f64 x z)) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) (/.f64 z t))
accuracy29.100692438009844
#s(approx (/ (+ x y) z) (/.f64 x z))
accuracy0.2028933699265769
(*.f64 (/.f64 (fma.f64 x t (*.f64 t y)) (*.f64 t t)) #s(literal 1/2 binary64))
accuracy0.7538979928166806
(fma.f64 x t (*.f64 t y))
accuracy17.480689807623126
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 (fma.f64 x t (*.f64 t y)) (*.f64 t t)) #s(literal 1/2 binary64)))
accuracy22.12255621840123
(/.f64 (fma.f64 x t (*.f64 t y)) (*.f64 t t))
accuracy0.0
(neg.f64 z)
accuracy0.015625
(/.f64 #s(approx (- (+ x y) z) #s(approx (- y z) (neg.f64 z))) (+.f64 t t))
accuracy24.480653685848864
#s(approx (- (+ x y) z) #s(approx (- y z) (neg.f64 z)))
accuracy32.92356968047984
#s(approx (- y z) (neg.f64 z))
accuracy0.0
(/.f64 (*.f64 #s(literal 1/2 binary64) y) t)
accuracy0.0
(*.f64 #s(literal 1/2 binary64) y)
accuracy41.14302547853396
#s(approx (/ (- (+ x y) z) (* t 2)) (/.f64 (*.f64 #s(literal 1/2 binary64) y) t))
accuracy0.0
(-.f64 x z)
accuracy0.0
(+.f64 t t)
accuracy0.015625
(/.f64 #s(approx (- (+ x y) z) (-.f64 x z)) (+.f64 t t))
accuracy21.066302634277935
#s(approx (- (+ x y) z) (-.f64 x z))
Samples
61.0ms256×0valid
Compiler

Compiled 166 to 32 computations (80.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 38.0ms
ival-mult: 12.0ms (31.6% of total)
ival-div: 11.0ms (28.9% of total)
ival-add: 8.0ms (21.1% of total)
ival-sub: 5.0ms (13.2% of total)
ival-neg: 1.0ms (2.6% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series27.0ms (0.5%)

Memory
23.1MiB live, 68.8MiB allocated; 6ms collecting garbage
Counts
20 → 98
Calls
Call 1
Inputs
(/.f64 #s(approx (- (+ x y) z) (-.f64 x z)) (+.f64 t t))
#s(approx (- (+ x y) z) (-.f64 x z))
(-.f64 x z)
(+.f64 t t)
#s(approx (/ (- (+ x y) z) (* t 2)) (/.f64 (*.f64 #s(literal 1/2 binary64) y) t))
(/.f64 (*.f64 #s(literal 1/2 binary64) y) t)
(*.f64 #s(literal 1/2 binary64) y)
(/.f64 #s(approx (- (+ x y) z) #s(approx (- y z) (neg.f64 z))) (+.f64 t t))
#s(approx (- (+ x y) z) #s(approx (- y z) (neg.f64 z)))
#s(approx (- y z) (neg.f64 z))
(neg.f64 z)
(/.f64 (fma.f64 x t (*.f64 t y)) (*.f64 t t))
(fma.f64 x t (*.f64 t y))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 (fma.f64 x t (*.f64 t y)) (*.f64 t t)) #s(literal 1/2 binary64)))
(*.f64 (/.f64 (fma.f64 x t (*.f64 t y)) (*.f64 t t)) #s(literal 1/2 binary64))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (fma.f64 #s(approx (/ (+ x y) z) (/.f64 x z)) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) (/.f64 z t)))
(*.f64 (fma.f64 #s(approx (/ (+ x y) z) (/.f64 x z)) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) (/.f64 z t))
(fma.f64 #s(approx (/ (+ x y) z) (/.f64 x z)) #s(literal 1/2 binary64) #s(literal -1/2 binary64))
#s(approx (/ (+ x y) z) (/.f64 x z))
(/.f64 x z)
Outputs
(* 1/2 (/ (- y z) t))
(+ (* 1/2 (/ x t)) (* 1/2 (/ (- y z) t)))
(- y z)
(- (+ x y) z)
(* -1 z)
(- x z)
(/ y t)
(+ (/ x t) (/ y t))
(* t y)
(+ (* t x) (* t y))
(* 1/2 (/ y t))
(+ (* 1/2 (/ x t)) (* 1/2 (/ y t)))
(/ (* z (- (* 1/2 (/ y z)) 1/2)) t)
(+ (* 1/2 (/ x t)) (/ (* z (- (* 1/2 (/ y z)) 1/2)) t))
(- (* 1/2 (/ y z)) 1/2)
(- (+ (* 1/2 (/ x z)) (* 1/2 (/ y z))) 1/2)
(/ y z)
(+ (/ x z) (/ y z))
(/ x z)
(* 1/2 (/ x t))
(* x (+ (* 1/2 (/ (- (/ y t) (/ z t)) x)) (* 1/2 (/ 1 t))))
x
(* x (- (+ 1 (/ y x)) (/ z x)))
(* x (+ 1 (* -1 (/ z x))))
(/ x t)
(* x (+ (/ 1 t) (/ y (* t x))))
(* t x)
(* x (+ t (/ (* t y) x)))
(* x (+ (* 1/2 (/ y (* t x))) (* 1/2 (/ 1 t))))
(* x (+ (* 1/2 (/ 1 t)) (/ (* z (- (* 1/2 (/ y z)) 1/2)) (* t x))))
(* 1/2 (/ x z))
(* x (- (+ (* 1/2 (/ y (* x z))) (* 1/2 (/ 1 z))) (* 1/2 (/ 1 x))))
(* x (+ (/ 1 z) (/ y (* x z))))
(* -1 (* x (- (* -1/2 (/ (- (/ y t) (/ z t)) x)) (* 1/2 (/ 1 t)))))
(* -1 (* x (- (* -1 (/ (- y z) x)) 1)))
(* -1 (* x (- (/ z x) 1)))
(* -1 (* x (- (* -1 (/ y (* t x))) (/ 1 t))))
(* -1 (* x (+ (* -1 t) (* -1 (/ (* t y) x)))))
(* -1 (* x (- (* -1/2 (/ y (* t x))) (* 1/2 (/ 1 t)))))
(* -1 (* x (- (* -1 (/ (* z (- (* 1/2 (/ y z)) 1/2)) (* t x))) (* 1/2 (/ 1 t)))))
(* -1 (* x (- (* -1 (/ (- (* 1/2 (/ y z)) 1/2) x)) (* 1/2 (/ 1 z)))))
(* -1 (* x (- (* -1 (/ y (* x z))) (/ 1 z))))
(* 1/2 (/ (- x z) t))
(+ (* 1/2 (/ y t)) (* 1/2 (/ (- x z) t)))
(* 1/2 y)
(/ (* z (- (* 1/2 (/ x z)) 1/2)) t)
(+ (* 1/2 (/ y t)) (/ (* z (- (* 1/2 (/ x z)) 1/2)) t))
(- (* 1/2 (/ x z)) 1/2)
(* y (+ (* 1/2 (/ (- (/ x t) (/ z t)) y)) (* 1/2 (/ 1 t))))
y
(* y (- (+ 1 (/ x y)) (/ z y)))
(* y (+ 1 (* -1 (/ z y))))
(* y (+ (/ 1 t) (/ x (* t y))))
(* y (+ t (/ (* t x) y)))
(* y (+ (* 1/2 (/ x (* t y))) (* 1/2 (/ 1 t))))
(* y (+ (* 1/2 (/ 1 t)) (/ (* z (- (* 1/2 (/ x z)) 1/2)) (* t y))))
(* 1/2 (/ y z))
(* y (- (+ (* 1/2 (/ x (* y z))) (* 1/2 (/ 1 z))) (* 1/2 (/ 1 y))))
(* y (+ (/ 1 z) (/ x (* y z))))
(* -1 (* y (- (* -1/2 (/ (- (/ x t) (/ z t)) y)) (* 1/2 (/ 1 t)))))
(* -1 (* y (- (* -1 (/ (- x z) y)) 1)))
(* -1 (* y (- (/ z y) 1)))
(* -1 (* y (- (* -1 (/ x (* t y))) (/ 1 t))))
(* -1 (* y (+ (* -1 t) (* -1 (/ (* t x) y)))))
(* -1 (* y (- (* -1/2 (/ x (* t y))) (* 1/2 (/ 1 t)))))
(* -1 (* y (- (* -1 (/ (* z (- (* 1/2 (/ x z)) 1/2)) (* t y))) (* 1/2 (/ 1 t)))))
(* -1 (* y (- (* -1 (/ (- (* 1/2 (/ x z)) 1/2) y)) (* 1/2 (/ 1 z)))))
(* -1 (* y (- (* -1 (/ x (* y z))) (/ 1 z))))
(* 1/2 (/ (+ x y) t))
(+ (* -1/2 (/ z t)) (* 1/2 (/ (+ x y) t)))
(+ x y)
(+ x (+ y (* -1 z)))
(+ x (* -1 z))
(+ y (* -1 z))
(* 1/2 (/ (+ x y) z))
(/ (+ (* -1/2 z) (* 1/2 (+ x y))) z)
(/ (+ x y) z)
(* -1/2 (/ z t))
(* z (- (* 1/2 (/ (+ (/ x t) (/ y t)) z)) (* 1/2 (/ 1 t))))
(* z (- (+ (/ x z) (/ y z)) 1))
(* z (- (/ x z) 1))
(* z (- (/ y z) 1))
(* z (- (* 1/2 (/ (+ x y) (* t z))) (* 1/2 (/ 1 t))))
-1/2
(- (* 1/2 (/ (+ x y) z)) 1/2)
(* -1 (* z (+ (* -1/2 (/ (+ (/ x t) (/ y t)) z)) (* 1/2 (/ 1 t)))))
(* -1 (* z (+ 1 (* -1 (/ (+ x y) z)))))
(* -1 (* z (+ 1 (* -1 (/ x z)))))
(* -1 (* z (+ 1 (* -1 (/ y z)))))
(* -1 (* z (+ (* -1/2 (/ (+ x y) (* t z))) (* 1/2 (/ 1 t)))))
(* 1/2 (/ (- (+ x y) z) t))
(* 2 t)
(/ (+ x y) t)
(* t (+ x y))
(/ (* z (- (* 1/2 (/ (+ x y) z)) 1/2)) t)
(* -1 (/ (+ (* -1 x) (* -1 y)) t))
(* -1 (* t (+ (* -1 x) (* -1 y))))
(* -1/2 (/ (+ (* -1 x) (* -1 y)) t))
Calls

12 calls:

TimeVariablePointExpression
6.0ms
t
@0
((/ (- (+ x y) z) (+ t t)) (- (+ x y) z) (- x z) (+ t t) (/ (- (+ x y) z) (* t 2)) (/ (* 1/2 y) t) (* 1/2 y) (/ (- (+ x y) z) (+ t t)) (- (+ x y) z) (- y z) (neg z) (/ (+ (* x t) (* t y)) (* t t)) (+ (* x t) (* t y)) (/ (- (+ x y) z) (* t 2)) (* (/ (+ (* x t) (* t y)) (* t t)) 1/2) (/ (- (+ x y) z) (* t 2)) (* (+ (* (/ (+ x y) z) 1/2) -1/2) (/ z t)) (+ (* (/ (+ x y) z) 1/2) -1/2) (/ (+ x y) z) (/ x z))
3.0ms
t
@-inf
((/ (- (+ x y) z) (+ t t)) (- (+ x y) z) (- x z) (+ t t) (/ (- (+ x y) z) (* t 2)) (/ (* 1/2 y) t) (* 1/2 y) (/ (- (+ x y) z) (+ t t)) (- (+ x y) z) (- y z) (neg z) (/ (+ (* x t) (* t y)) (* t t)) (+ (* x t) (* t y)) (/ (- (+ x y) z) (* t 2)) (* (/ (+ (* x t) (* t y)) (* t t)) 1/2) (/ (- (+ x y) z) (* t 2)) (* (+ (* (/ (+ x y) z) 1/2) -1/2) (/ z t)) (+ (* (/ (+ x y) z) 1/2) -1/2) (/ (+ x y) z) (/ x z))
2.0ms
t
@inf
((/ (- (+ x y) z) (+ t t)) (- (+ x y) z) (- x z) (+ t t) (/ (- (+ x y) z) (* t 2)) (/ (* 1/2 y) t) (* 1/2 y) (/ (- (+ x y) z) (+ t t)) (- (+ x y) z) (- y z) (neg z) (/ (+ (* x t) (* t y)) (* t t)) (+ (* x t) (* t y)) (/ (- (+ x y) z) (* t 2)) (* (/ (+ (* x t) (* t y)) (* t t)) 1/2) (/ (- (+ x y) z) (* t 2)) (* (+ (* (/ (+ x y) z) 1/2) -1/2) (/ z t)) (+ (* (/ (+ x y) z) 1/2) -1/2) (/ (+ x y) z) (/ x z))
2.0ms
y
@-inf
((/ (- (+ x y) z) (+ t t)) (- (+ x y) z) (- x z) (+ t t) (/ (- (+ x y) z) (* t 2)) (/ (* 1/2 y) t) (* 1/2 y) (/ (- (+ x y) z) (+ t t)) (- (+ x y) z) (- y z) (neg z) (/ (+ (* x t) (* t y)) (* t t)) (+ (* x t) (* t y)) (/ (- (+ x y) z) (* t 2)) (* (/ (+ (* x t) (* t y)) (* t t)) 1/2) (/ (- (+ x y) z) (* t 2)) (* (+ (* (/ (+ x y) z) 1/2) -1/2) (/ z t)) (+ (* (/ (+ x y) z) 1/2) -1/2) (/ (+ x y) z) (/ x z))
2.0ms
x
@-inf
((/ (- (+ x y) z) (+ t t)) (- (+ x y) z) (- x z) (+ t t) (/ (- (+ x y) z) (* t 2)) (/ (* 1/2 y) t) (* 1/2 y) (/ (- (+ x y) z) (+ t t)) (- (+ x y) z) (- y z) (neg z) (/ (+ (* x t) (* t y)) (* t t)) (+ (* x t) (* t y)) (/ (- (+ x y) z) (* t 2)) (* (/ (+ (* x t) (* t y)) (* t t)) 1/2) (/ (- (+ x y) z) (* t 2)) (* (+ (* (/ (+ x y) z) 1/2) -1/2) (/ z t)) (+ (* (/ (+ x y) z) 1/2) -1/2) (/ (+ x y) z) (/ x z))

simplify207.0ms (4.1%)

Memory
17.7MiB live, 202.0MiB allocated; 38ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0258885
1839845
22761824
08146781
Stop Event
iter limit
node limit
Counts
98 → 96
Calls
Call 1
Inputs
(* 1/2 (/ (- y z) t))
(+ (* 1/2 (/ x t)) (* 1/2 (/ (- y z) t)))
(- y z)
(- (+ x y) z)
(* -1 z)
(- x z)
(/ y t)
(+ (/ x t) (/ y t))
(* t y)
(+ (* t x) (* t y))
(* 1/2 (/ y t))
(+ (* 1/2 (/ x t)) (* 1/2 (/ y t)))
(/ (* z (- (* 1/2 (/ y z)) 1/2)) t)
(+ (* 1/2 (/ x t)) (/ (* z (- (* 1/2 (/ y z)) 1/2)) t))
(- (* 1/2 (/ y z)) 1/2)
(- (+ (* 1/2 (/ x z)) (* 1/2 (/ y z))) 1/2)
(/ y z)
(+ (/ x z) (/ y z))
(/ x z)
(* 1/2 (/ x t))
(* x (+ (* 1/2 (/ (- (/ y t) (/ z t)) x)) (* 1/2 (/ 1 t))))
x
(* x (- (+ 1 (/ y x)) (/ z x)))
(* x (+ 1 (* -1 (/ z x))))
(/ x t)
(* x (+ (/ 1 t) (/ y (* t x))))
(* t x)
(* x (+ t (/ (* t y) x)))
(* x (+ (* 1/2 (/ y (* t x))) (* 1/2 (/ 1 t))))
(* x (+ (* 1/2 (/ 1 t)) (/ (* z (- (* 1/2 (/ y z)) 1/2)) (* t x))))
(* 1/2 (/ x z))
(* x (- (+ (* 1/2 (/ y (* x z))) (* 1/2 (/ 1 z))) (* 1/2 (/ 1 x))))
(* x (+ (/ 1 z) (/ y (* x z))))
(* -1 (* x (- (* -1/2 (/ (- (/ y t) (/ z t)) x)) (* 1/2 (/ 1 t)))))
(* -1 (* x (- (* -1 (/ (- y z) x)) 1)))
(* -1 (* x (- (/ z x) 1)))
(* -1 (* x (- (* -1 (/ y (* t x))) (/ 1 t))))
(* -1 (* x (+ (* -1 t) (* -1 (/ (* t y) x)))))
(* -1 (* x (- (* -1/2 (/ y (* t x))) (* 1/2 (/ 1 t)))))
(* -1 (* x (- (* -1 (/ (* z (- (* 1/2 (/ y z)) 1/2)) (* t x))) (* 1/2 (/ 1 t)))))
(* -1 (* x (- (* -1 (/ (- (* 1/2 (/ y z)) 1/2) x)) (* 1/2 (/ 1 z)))))
(* -1 (* x (- (* -1 (/ y (* x z))) (/ 1 z))))
(* 1/2 (/ (- x z) t))
(+ (* 1/2 (/ y t)) (* 1/2 (/ (- x z) t)))
(* 1/2 y)
(/ (* z (- (* 1/2 (/ x z)) 1/2)) t)
(+ (* 1/2 (/ y t)) (/ (* z (- (* 1/2 (/ x z)) 1/2)) t))
(- (* 1/2 (/ x z)) 1/2)
(* y (+ (* 1/2 (/ (- (/ x t) (/ z t)) y)) (* 1/2 (/ 1 t))))
y
(* y (- (+ 1 (/ x y)) (/ z y)))
(* y (+ 1 (* -1 (/ z y))))
(* y (+ (/ 1 t) (/ x (* t y))))
(* y (+ t (/ (* t x) y)))
(* y (+ (* 1/2 (/ x (* t y))) (* 1/2 (/ 1 t))))
(* y (+ (* 1/2 (/ 1 t)) (/ (* z (- (* 1/2 (/ x z)) 1/2)) (* t y))))
(* 1/2 (/ y z))
(* y (- (+ (* 1/2 (/ x (* y z))) (* 1/2 (/ 1 z))) (* 1/2 (/ 1 y))))
(* y (+ (/ 1 z) (/ x (* y z))))
(* -1 (* y (- (* -1/2 (/ (- (/ x t) (/ z t)) y)) (* 1/2 (/ 1 t)))))
(* -1 (* y (- (* -1 (/ (- x z) y)) 1)))
(* -1 (* y (- (/ z y) 1)))
(* -1 (* y (- (* -1 (/ x (* t y))) (/ 1 t))))
(* -1 (* y (+ (* -1 t) (* -1 (/ (* t x) y)))))
(* -1 (* y (- (* -1/2 (/ x (* t y))) (* 1/2 (/ 1 t)))))
(* -1 (* y (- (* -1 (/ (* z (- (* 1/2 (/ x z)) 1/2)) (* t y))) (* 1/2 (/ 1 t)))))
(* -1 (* y (- (* -1 (/ (- (* 1/2 (/ x z)) 1/2) y)) (* 1/2 (/ 1 z)))))
(* -1 (* y (- (* -1 (/ x (* y z))) (/ 1 z))))
(* 1/2 (/ (+ x y) t))
(+ (* -1/2 (/ z t)) (* 1/2 (/ (+ x y) t)))
(+ x y)
(+ x (+ y (* -1 z)))
(+ x (* -1 z))
(+ y (* -1 z))
(* 1/2 (/ (+ x y) z))
(/ (+ (* -1/2 z) (* 1/2 (+ x y))) z)
(/ (+ x y) z)
(* -1/2 (/ z t))
(* z (- (* 1/2 (/ (+ (/ x t) (/ y t)) z)) (* 1/2 (/ 1 t))))
(* z (- (+ (/ x z) (/ y z)) 1))
(* z (- (/ x z) 1))
(* z (- (/ y z) 1))
(* z (- (* 1/2 (/ (+ x y) (* t z))) (* 1/2 (/ 1 t))))
-1/2
(- (* 1/2 (/ (+ x y) z)) 1/2)
(* -1 (* z (+ (* -1/2 (/ (+ (/ x t) (/ y t)) z)) (* 1/2 (/ 1 t)))))
(* -1 (* z (+ 1 (* -1 (/ (+ x y) z)))))
(* -1 (* z (+ 1 (* -1 (/ x z)))))
(* -1 (* z (+ 1 (* -1 (/ y z)))))
(* -1 (* z (+ (* -1/2 (/ (+ x y) (* t z))) (* 1/2 (/ 1 t)))))
(* 1/2 (/ (- (+ x y) z) t))
(* 2 t)
(/ (+ x y) t)
(* t (+ x y))
(/ (* z (- (* 1/2 (/ (+ x y) z)) 1/2)) t)
(* -1 (/ (+ (* -1 x) (* -1 y)) t))
(* -1 (* t (+ (* -1 x) (* -1 y))))
(* -1/2 (/ (+ (* -1 x) (* -1 y)) t))
Outputs
(* 1/2 (/ (- y z) t))
(*.f64 (/.f64 (-.f64 y z) t) #s(literal 1/2 binary64))
(+ (* 1/2 (/ x t)) (* 1/2 (/ (- y z) t)))
(*.f64 (/.f64 (-.f64 (+.f64 y x) z) t) #s(literal 1/2 binary64))
(- y z)
(-.f64 y z)
(- (+ x y) z)
(-.f64 (+.f64 y x) z)
(* -1 z)
(neg.f64 z)
(- x z)
(-.f64 x z)
(/ y t)
(/.f64 y t)
(+ (/ x t) (/ y t))
(/.f64 (+.f64 y x) t)
(* t y)
(*.f64 t y)
(+ (* t x) (* t y))
(*.f64 t (+.f64 y x))
(* 1/2 (/ y t))
(*.f64 (/.f64 y t) #s(literal 1/2 binary64))
(+ (* 1/2 (/ x t)) (* 1/2 (/ y t)))
(*.f64 (/.f64 (+.f64 y x) t) #s(literal 1/2 binary64))
(/ (* z (- (* 1/2 (/ y z)) 1/2)) t)
(/.f64 (*.f64 (fma.f64 (/.f64 y z) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) z) t)
(+ (* 1/2 (/ x t)) (/ (* z (- (* 1/2 (/ y z)) 1/2)) t))
(/.f64 (fma.f64 (fma.f64 (/.f64 y z) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) z (*.f64 #s(literal 1/2 binary64) x)) t)
(- (* 1/2 (/ y z)) 1/2)
(fma.f64 (/.f64 y z) #s(literal 1/2 binary64) #s(literal -1/2 binary64))
(- (+ (* 1/2 (/ x z)) (* 1/2 (/ y z))) 1/2)
(fma.f64 #s(literal 1/2 binary64) (/.f64 (+.f64 y x) z) #s(literal -1/2 binary64))
(/ y z)
(/.f64 y z)
(+ (/ x z) (/ y z))
(/.f64 (+.f64 y x) z)
(/ x z)
(/.f64 x z)
(* 1/2 (/ x t))
(*.f64 (/.f64 x t) #s(literal 1/2 binary64))
(* x (+ (* 1/2 (/ (- (/ y t) (/ z t)) x)) (* 1/2 (/ 1 t))))
(*.f64 (fma.f64 (/.f64 (/.f64 (-.f64 y z) t) x) #s(literal 1/2 binary64) (/.f64 #s(literal 1/2 binary64) t)) x)
x
(* x (- (+ 1 (/ y x)) (/ z x)))
(fma.f64 (/.f64 (-.f64 y z) x) x x)
(* x (+ 1 (* -1 (/ z x))))
(*.f64 (-.f64 #s(literal 1 binary64) (/.f64 z x)) x)
(/ x t)
(/.f64 x t)
(* x (+ (/ 1 t) (/ y (* t x))))
(*.f64 (/.f64 (-.f64 (/.f64 y x) #s(literal -1 binary64)) t) x)
(* t x)
(*.f64 t x)
(* x (+ t (/ (* t y) x)))
(*.f64 (fma.f64 (/.f64 y x) t t) x)
(* x (+ (* 1/2 (/ y (* t x))) (* 1/2 (/ 1 t))))
(*.f64 (/.f64 (fma.f64 (/.f64 y x) #s(literal 1/2 binary64) #s(literal 1/2 binary64)) t) x)
(* x (+ (* 1/2 (/ 1 t)) (/ (* z (- (* 1/2 (/ y z)) 1/2)) (* t x))))
(*.f64 (/.f64 (fma.f64 z (/.f64 (fma.f64 (/.f64 y z) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) x) #s(literal 1/2 binary64)) t) x)
(* 1/2 (/ x z))
(*.f64 (/.f64 x z) #s(literal 1/2 binary64))
(* x (- (+ (* 1/2 (/ y (* x z))) (* 1/2 (/ 1 z))) (* 1/2 (/ 1 x))))
(*.f64 (fma.f64 (/.f64 (-.f64 (/.f64 y x) #s(literal -1 binary64)) z) #s(literal 1/2 binary64) (/.f64 #s(literal -1/2 binary64) x)) x)
(* x (+ (/ 1 z) (/ y (* x z))))
(/.f64 (fma.f64 x (/.f64 y x) x) z)
(* -1 (* x (- (* -1/2 (/ (- (/ y t) (/ z t)) x)) (* 1/2 (/ 1 t)))))
(*.f64 (fma.f64 (/.f64 (/.f64 (-.f64 y z) t) x) #s(literal 1/2 binary64) (/.f64 #s(literal 1/2 binary64) t)) x)
(* -1 (* x (- (* -1 (/ (- y z) x)) 1)))
(*.f64 (neg.f64 x) (fma.f64 (/.f64 (-.f64 y z) x) #s(literal -1 binary64) #s(literal -1 binary64)))
(* -1 (* x (- (/ z x) 1)))
(*.f64 (-.f64 #s(literal 1 binary64) (/.f64 z x)) x)
(* -1 (* x (- (* -1 (/ y (* t x))) (/ 1 t))))
(*.f64 (neg.f64 x) (-.f64 (/.f64 (/.f64 (neg.f64 y) x) t) (/.f64 #s(literal 1 binary64) t)))
(* -1 (* x (+ (* -1 t) (* -1 (/ (* t y) x)))))
(*.f64 (fma.f64 (/.f64 y x) t t) x)
(* -1 (* x (- (* -1/2 (/ y (* t x))) (* 1/2 (/ 1 t)))))
(*.f64 (/.f64 (fma.f64 (/.f64 y x) #s(literal 1/2 binary64) #s(literal 1/2 binary64)) t) x)
(* -1 (* x (- (* -1 (/ (* z (- (* 1/2 (/ y z)) 1/2)) (* t x))) (* 1/2 (/ 1 t)))))
(*.f64 (/.f64 (fma.f64 z (/.f64 (fma.f64 (/.f64 y z) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) x) #s(literal 1/2 binary64)) t) x)
(* -1 (* x (- (* -1 (/ (- (* 1/2 (/ y z)) 1/2) x)) (* 1/2 (/ 1 z)))))
(*.f64 (fma.f64 (/.f64 (-.f64 (/.f64 y x) #s(literal -1 binary64)) z) #s(literal 1/2 binary64) (/.f64 #s(literal -1/2 binary64) x)) x)
(* -1 (* x (- (* -1 (/ y (* x z))) (/ 1 z))))
(*.f64 (neg.f64 x) (-.f64 (/.f64 (/.f64 (neg.f64 y) x) z) (/.f64 #s(literal 1 binary64) z)))
(* 1/2 (/ (- x z) t))
(*.f64 (/.f64 (-.f64 x z) t) #s(literal 1/2 binary64))
(+ (* 1/2 (/ y t)) (* 1/2 (/ (- x z) t)))
(*.f64 (/.f64 (-.f64 (+.f64 y x) z) t) #s(literal 1/2 binary64))
(* 1/2 y)
(*.f64 #s(literal 1/2 binary64) y)
(/ (* z (- (* 1/2 (/ x z)) 1/2)) t)
(/.f64 (*.f64 (fma.f64 (/.f64 x z) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) z) t)
(+ (* 1/2 (/ y t)) (/ (* z (- (* 1/2 (/ x z)) 1/2)) t))
(/.f64 (fma.f64 (fma.f64 (/.f64 x z) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) z (*.f64 #s(literal 1/2 binary64) y)) t)
(- (* 1/2 (/ x z)) 1/2)
(fma.f64 (/.f64 x z) #s(literal 1/2 binary64) #s(literal -1/2 binary64))
(* y (+ (* 1/2 (/ (- (/ x t) (/ z t)) y)) (* 1/2 (/ 1 t))))
(*.f64 (fma.f64 (/.f64 (/.f64 (-.f64 x z) t) y) #s(literal 1/2 binary64) (/.f64 #s(literal 1/2 binary64) t)) y)
y
(* y (- (+ 1 (/ x y)) (/ z y)))
(fma.f64 (/.f64 (-.f64 x z) y) y y)
(* y (+ 1 (* -1 (/ z y))))
(*.f64 (-.f64 #s(literal 1 binary64) (/.f64 z y)) y)
(* y (+ (/ 1 t) (/ x (* t y))))
(*.f64 (/.f64 (-.f64 (/.f64 x y) #s(literal -1 binary64)) t) y)
(* y (+ t (/ (* t x) y)))
(*.f64 (fma.f64 (/.f64 x y) t t) y)
(* y (+ (* 1/2 (/ x (* t y))) (* 1/2 (/ 1 t))))
(*.f64 (/.f64 (fma.f64 (/.f64 x y) #s(literal 1/2 binary64) #s(literal 1/2 binary64)) t) y)
(* y (+ (* 1/2 (/ 1 t)) (/ (* z (- (* 1/2 (/ x z)) 1/2)) (* t y))))
(*.f64 (/.f64 (fma.f64 z (/.f64 (fma.f64 (/.f64 x z) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) y) #s(literal 1/2 binary64)) t) y)
(* 1/2 (/ y z))
(*.f64 (/.f64 y z) #s(literal 1/2 binary64))
(* y (- (+ (* 1/2 (/ x (* y z))) (* 1/2 (/ 1 z))) (* 1/2 (/ 1 y))))
(*.f64 (fma.f64 (/.f64 (-.f64 (/.f64 x y) #s(literal -1 binary64)) z) #s(literal 1/2 binary64) (/.f64 #s(literal -1/2 binary64) y)) y)
(* y (+ (/ 1 z) (/ x (* y z))))
(/.f64 (fma.f64 y (/.f64 x y) y) z)
(* -1 (* y (- (* -1/2 (/ (- (/ x t) (/ z t)) y)) (* 1/2 (/ 1 t)))))
(*.f64 (fma.f64 (/.f64 (/.f64 (-.f64 x z) t) y) #s(literal 1/2 binary64) (/.f64 #s(literal 1/2 binary64) t)) y)
(* -1 (* y (- (* -1 (/ (- x z) y)) 1)))
(*.f64 (neg.f64 y) (-.f64 (/.f64 (-.f64 z x) y) #s(literal 1 binary64)))
(* -1 (* y (- (/ z y) 1)))
(*.f64 (-.f64 #s(literal 1 binary64) (/.f64 z y)) y)
(* -1 (* y (- (* -1 (/ x (* t y))) (/ 1 t))))
(*.f64 (neg.f64 y) (-.f64 (/.f64 (/.f64 (neg.f64 x) y) t) (/.f64 #s(literal 1 binary64) t)))
(* -1 (* y (+ (* -1 t) (* -1 (/ (* t x) y)))))
(*.f64 (fma.f64 (/.f64 x y) t t) y)
(* -1 (* y (- (* -1/2 (/ x (* t y))) (* 1/2 (/ 1 t)))))
(*.f64 (/.f64 (fma.f64 (/.f64 x y) #s(literal 1/2 binary64) #s(literal 1/2 binary64)) t) y)
(* -1 (* y (- (* -1 (/ (* z (- (* 1/2 (/ x z)) 1/2)) (* t y))) (* 1/2 (/ 1 t)))))
(*.f64 (/.f64 (fma.f64 z (/.f64 (fma.f64 (/.f64 x z) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) y) #s(literal 1/2 binary64)) t) y)
(* -1 (* y (- (* -1 (/ (- (* 1/2 (/ x z)) 1/2) y)) (* 1/2 (/ 1 z)))))
(*.f64 (fma.f64 (/.f64 (-.f64 (/.f64 x y) #s(literal -1 binary64)) z) #s(literal 1/2 binary64) (/.f64 #s(literal -1/2 binary64) y)) y)
(* -1 (* y (- (* -1 (/ x (* y z))) (/ 1 z))))
(*.f64 (neg.f64 y) (-.f64 (/.f64 (/.f64 (neg.f64 x) y) z) (/.f64 #s(literal 1 binary64) z)))
(* 1/2 (/ (+ x y) t))
(*.f64 (/.f64 (+.f64 y x) t) #s(literal 1/2 binary64))
(+ (* -1/2 (/ z t)) (* 1/2 (/ (+ x y) t)))
(*.f64 (/.f64 (-.f64 (+.f64 y x) z) t) #s(literal 1/2 binary64))
(+ x y)
(+.f64 y x)
(+ x (+ y (* -1 z)))
(-.f64 (+.f64 y x) z)
(+ x (* -1 z))
(-.f64 x z)
(+ y (* -1 z))
(-.f64 y z)
(* 1/2 (/ (+ x y) z))
(*.f64 #s(literal 1/2 binary64) (/.f64 (+.f64 y x) z))
(/ (+ (* -1/2 z) (* 1/2 (+ x y))) z)
(*.f64 #s(literal -1/2 binary64) (/.f64 (-.f64 z (+.f64 y x)) z))
(/ (+ x y) z)
(/.f64 (+.f64 y x) z)
(* -1/2 (/ z t))
(*.f64 #s(literal -1/2 binary64) (/.f64 z t))
(* z (- (* 1/2 (/ (+ (/ x t) (/ y t)) z)) (* 1/2 (/ 1 t))))
(*.f64 (fma.f64 #s(literal 1/2 binary64) (/.f64 (+.f64 y x) z) #s(literal -1/2 binary64)) (/.f64 z t))
(* z (- (+ (/ x z) (/ y z)) 1))
(*.f64 (-.f64 (/.f64 (+.f64 y x) z) #s(literal 1 binary64)) z)
(* z (- (/ x z) 1))
(*.f64 (-.f64 (/.f64 x z) #s(literal 1 binary64)) z)
(* z (- (/ y z) 1))
(*.f64 (-.f64 (/.f64 y z) #s(literal 1 binary64)) z)
(* z (- (* 1/2 (/ (+ x y) (* t z))) (* 1/2 (/ 1 t))))
(*.f64 (fma.f64 #s(literal 1/2 binary64) (/.f64 (+.f64 y x) z) #s(literal -1/2 binary64)) (/.f64 z t))
-1/2
#s(literal -1/2 binary64)
(- (* 1/2 (/ (+ x y) z)) 1/2)
(fma.f64 #s(literal 1/2 binary64) (/.f64 (+.f64 y x) z) #s(literal -1/2 binary64))
(* -1 (* z (+ (* -1/2 (/ (+ (/ x t) (/ y t)) z)) (* 1/2 (/ 1 t)))))
(*.f64 (fma.f64 #s(literal 1/2 binary64) (/.f64 (+.f64 y x) z) #s(literal -1/2 binary64)) (/.f64 z t))
(* -1 (* z (+ 1 (* -1 (/ (+ x y) z)))))
(*.f64 (-.f64 (/.f64 (+.f64 y x) z) #s(literal 1 binary64)) z)
(* -1 (* z (+ 1 (* -1 (/ x z)))))
(*.f64 (-.f64 (/.f64 x z) #s(literal 1 binary64)) z)
(* -1 (* z (+ 1 (* -1 (/ y z)))))
(*.f64 (-.f64 (/.f64 y z) #s(literal 1 binary64)) z)
(* -1 (* z (+ (* -1/2 (/ (+ x y) (* t z))) (* 1/2 (/ 1 t)))))
(*.f64 (fma.f64 #s(literal 1/2 binary64) (/.f64 (+.f64 y x) z) #s(literal -1/2 binary64)) (/.f64 z t))
(* 1/2 (/ (- (+ x y) z) t))
(*.f64 (/.f64 (-.f64 (+.f64 y x) z) t) #s(literal 1/2 binary64))
(* 2 t)
(*.f64 #s(literal 2 binary64) t)
(/ (+ x y) t)
(/.f64 (+.f64 y x) t)
(* t (+ x y))
(*.f64 t (+.f64 y x))
(/ (* z (- (* 1/2 (/ (+ x y) z)) 1/2)) t)
(*.f64 (fma.f64 #s(literal 1/2 binary64) (/.f64 (+.f64 y x) z) #s(literal -1/2 binary64)) (/.f64 z t))
(* -1 (/ (+ (* -1 x) (* -1 y)) t))
(/.f64 (+.f64 y x) t)
(* -1 (* t (+ (* -1 x) (* -1 y))))
(*.f64 t (+.f64 y x))
(* -1/2 (/ (+ (* -1 x) (* -1 y)) t))
(*.f64 (/.f64 (+.f64 y x) t) #s(literal 1/2 binary64))

rewrite50.0ms (1%)

Memory
-2.7MiB live, 39.8MiB allocated; 14ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
036203
054203
0188203
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
20 → 52
Calls
Call 1
Inputs
(/.f64 #s(approx (- (+ x y) z) (-.f64 x z)) (+.f64 t t))
#s(approx (- (+ x y) z) (-.f64 x z))
(-.f64 x z)
(+.f64 t t)
#s(approx (/ (- (+ x y) z) (* t 2)) (/.f64 (*.f64 #s(literal 1/2 binary64) y) t))
(/.f64 (*.f64 #s(literal 1/2 binary64) y) t)
(*.f64 #s(literal 1/2 binary64) y)
(/.f64 #s(approx (- (+ x y) z) #s(approx (- y z) (neg.f64 z))) (+.f64 t t))
#s(approx (- (+ x y) z) #s(approx (- y z) (neg.f64 z)))
#s(approx (- y z) (neg.f64 z))
(neg.f64 z)
(/.f64 (fma.f64 x t (*.f64 t y)) (*.f64 t t))
(fma.f64 x t (*.f64 t y))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 (fma.f64 x t (*.f64 t y)) (*.f64 t t)) #s(literal 1/2 binary64)))
(*.f64 (/.f64 (fma.f64 x t (*.f64 t y)) (*.f64 t t)) #s(literal 1/2 binary64))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (fma.f64 #s(approx (/ (+ x y) z) (/.f64 x z)) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) (/.f64 z t)))
(*.f64 (fma.f64 #s(approx (/ (+ x y) z) (/.f64 x z)) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) (/.f64 z t))
(fma.f64 #s(approx (/ (+ x y) z) (/.f64 x z)) #s(literal 1/2 binary64) #s(literal -1/2 binary64))
#s(approx (/ (+ x y) z) (/.f64 x z))
(/.f64 x z)
Outputs
(/.f64 (neg.f64 #s(approx (- (+ x y) z) (-.f64 x z))) (neg.f64 (*.f64 #s(literal 2 binary64) t)))
(/.f64 #s(approx (- (+ x y) z) (-.f64 x z)) (*.f64 #s(literal 2 binary64) t))
#s(approx (- (+ x y) z) (-.f64 x z))
(/.f64 (-.f64 (*.f64 x x) (*.f64 z z)) (+.f64 x z))
(/.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64))) (fma.f64 x x (fma.f64 z z (*.f64 x z))))
(-.f64 x z)
(*.f64 #s(literal 2 binary64) t)
(*.f64 t #s(literal 2 binary64))
(/.f64 (-.f64 (*.f64 t t) (*.f64 t t)) (-.f64 t t))
(/.f64 (+.f64 (pow.f64 t #s(literal 3 binary64)) (pow.f64 t #s(literal 3 binary64))) (fma.f64 t t (-.f64 (*.f64 t t) (*.f64 t t))))
(+.f64 t t)
#s(approx (/ (- (+ x y) z) (* t 2)) (/.f64 (*.f64 #s(literal 1/2 binary64) y) t))
(*.f64 #s(literal 1/2 binary64) (/.f64 y t))
(/.f64 (neg.f64 (*.f64 #s(literal 1/2 binary64) y)) (neg.f64 t))
(/.f64 (*.f64 #s(literal 1/2 binary64) y) t)
(*.f64 #s(literal 1/2 binary64) y)
(*.f64 y #s(literal 1/2 binary64))
(/.f64 (neg.f64 #s(approx (- (+ x y) z) #s(approx (- y z) (neg.f64 z)))) (neg.f64 (*.f64 #s(literal 2 binary64) t)))
(/.f64 #s(approx (- (+ x y) z) #s(approx (- y z) (neg.f64 z))) (*.f64 #s(literal 2 binary64) t))
#s(approx (- (+ x y) z) #s(approx (- y z) (neg.f64 z)))
#s(approx (- y z) (neg.f64 z))
(neg.f64 z)
(/.f64 (/.f64 (fma.f64 t x (*.f64 t y)) t) t)
(/.f64 (neg.f64 (fma.f64 t x (*.f64 t y))) (neg.f64 (*.f64 t t)))
(/.f64 (fma.f64 t x (*.f64 t y)) (*.f64 t t))
(+.f64 (/.f64 (*.f64 t x) (*.f64 t t)) (/.f64 (*.f64 t y) (*.f64 t t)))
(/.f64 (-.f64 (*.f64 (*.f64 t x) (*.f64 t x)) (*.f64 (*.f64 t y) (*.f64 t y))) (-.f64 (*.f64 t x) (*.f64 t y)))
(/.f64 (+.f64 (pow.f64 (*.f64 t x) #s(literal 3 binary64)) (pow.f64 (*.f64 t y) #s(literal 3 binary64))) (fma.f64 (*.f64 t x) (*.f64 t x) (-.f64 (*.f64 (*.f64 t y) (*.f64 t y)) (*.f64 (*.f64 t x) (*.f64 t y)))))
(fma.f64 t y (*.f64 t x))
(fma.f64 t x (*.f64 t y))
(fma.f64 y t (*.f64 t x))
(fma.f64 x t (*.f64 t y))
(-.f64 (*.f64 t x) (*.f64 (neg.f64 t) y))
(+.f64 (*.f64 t x) (*.f64 t y))
(+.f64 (*.f64 t y) (*.f64 t x))
#s(approx (/ (- (+ x y) z) (* t 2)) (/.f64 (*.f64 (fma.f64 t x (*.f64 t y)) #s(literal 1/2 binary64)) (*.f64 t t)))
(*.f64 (/.f64 (/.f64 (fma.f64 t x (*.f64 t y)) t) t) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (/.f64 (/.f64 (fma.f64 t x (*.f64 t y)) t) t))
(/.f64 (*.f64 (fma.f64 t x (*.f64 t y)) #s(literal 1/2 binary64)) (*.f64 t t))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 z t) (fma.f64 #s(approx (/ (+ x y) z) (/.f64 x z)) #s(literal 1/2 binary64) #s(literal -1/2 binary64))))
(*.f64 (/.f64 z t) (fma.f64 #s(approx (/ (+ x y) z) (/.f64 x z)) #s(literal 1/2 binary64) #s(literal -1/2 binary64)))
(*.f64 (fma.f64 #s(approx (/ (+ x y) z) (/.f64 x z)) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) (/.f64 z t))
(/.f64 (*.f64 (fma.f64 #s(approx (/ (+ x y) z) (/.f64 x z)) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) z) t)
(/.f64 (-.f64 (*.f64 (*.f64 #s(approx (/ (+ x y) z) (/.f64 x z)) #s(literal 1/2 binary64)) (*.f64 #s(approx (/ (+ x y) z) (/.f64 x z)) #s(literal 1/2 binary64))) #s(literal 1/4 binary64)) (-.f64 (*.f64 #s(approx (/ (+ x y) z) (/.f64 x z)) #s(literal 1/2 binary64)) #s(literal -1/2 binary64)))
(/.f64 (+.f64 (pow.f64 (*.f64 #s(approx (/ (+ x y) z) (/.f64 x z)) #s(literal 1/2 binary64)) #s(literal 3 binary64)) #s(literal -1/8 binary64)) (fma.f64 (*.f64 #s(approx (/ (+ x y) z) (/.f64 x z)) #s(literal 1/2 binary64)) (*.f64 #s(approx (/ (+ x y) z) (/.f64 x z)) #s(literal 1/2 binary64)) (-.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 #s(approx (/ (+ x y) z) (/.f64 x z)) #s(literal 1/2 binary64)) #s(literal -1/2 binary64)))))
(fma.f64 #s(approx (/ (+ x y) z) (/.f64 x z)) #s(literal 1/2 binary64) #s(literal -1/2 binary64))
(fma.f64 #s(literal 1/2 binary64) #s(approx (/ (+ x y) z) (/.f64 x z)) #s(literal -1/2 binary64))
(+.f64 (*.f64 #s(approx (/ (+ x y) z) (/.f64 x z)) #s(literal 1/2 binary64)) #s(literal -1/2 binary64))
(+.f64 #s(literal -1/2 binary64) (*.f64 #s(approx (/ (+ x y) z) (/.f64 x z)) #s(literal 1/2 binary64)))
#s(approx (/ (+ x y) z) (/.f64 x z))
(/.f64 (neg.f64 x) (neg.f64 z))
(/.f64 x z)

eval20.0ms (0.4%)

Memory
-11.9MiB live, 32.7MiB allocated; 11ms collecting garbage
Compiler

Compiled 3 092 to 500 computations (83.8% saved)

prune10.0ms (0.2%)

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

12 alts after pruning (2 fresh and 10 done)

PrunedKeptTotal
New1231124
Fresh011
Picked055
Done156
Total12412136
Accuracy
100.0%
Counts
136 → 12
Alt Table
Click to see full alt table
StatusAccuracyProgram
63.2%
(/.f64 #s(approx (- (+ x y) z) (-.f64 y z)) (+.f64 t t))
69.2%
(/.f64 #s(approx (- (+ x y) z) (-.f64 x z)) (+.f64 t t))
72.7%
(/.f64 #s(approx (- (+ x y) z) (+.f64 y x)) (+.f64 t t))
55.5%
(/.f64 #s(approx (- (+ x y) z) #s(approx (- y z) (*.f64 (-.f64 (/.f64 y z) #s(literal 1 binary64)) z))) (+.f64 t t))
33.4%
(/.f64 #s(approx (- (+ x y) z) #s(approx (- y z) (neg.f64 z))) (+.f64 t t))
35.7%
#s(approx (/ (- (+ x y) z) (* t 2)) (/.f64 (*.f64 #s(literal 1/2 binary64) y) t))
61.6%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (fma.f64 #s(approx (/ (+ x y) z) (/.f64 x z)) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) (/.f64 z t)))
48.9%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 (fma.f64 x t (*.f64 t y)) (*.f64 t t)) #s(literal 1/2 binary64)))
40.1%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 x t) #s(literal 1/2 binary64)))
35.7%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 #s(literal 1/2 binary64) t) y))
33.4%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 #s(literal -1/2 binary64) t) z))
40.3%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 x (/.f64 #s(literal 1/2 binary64) t)))
Compiler

Compiled 644 to 273 computations (57.6% saved)

regimes134.0ms (2.7%)

Memory
-19.0MiB live, 144.5MiB allocated; 34ms collecting garbage
Counts
25 → 1
Calls
Call 1
Inputs
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 x (/.f64 #s(literal 1/2 binary64) t)))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(approx (/ (+ y x) t) (/.f64 y t)) #s(literal 1/2 binary64)))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 #s(literal -1/2 binary64) t) z))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 #s(literal 1/2 binary64) t) y))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 x t) #s(literal 1/2 binary64)))
#s(approx (/ (- (+ x y) z) (* t 2)) (/.f64 (*.f64 #s(literal -1/2 binary64) z) t))
#s(approx (/ (- (+ x y) z) (* t 2)) (/.f64 (*.f64 #s(literal 1/2 binary64) y) t))
(/.f64 #s(approx (- (+ x y) z) #s(approx (- y z) (neg.f64 z))) (+.f64 t t))
(/.f64 #s(approx (- (+ x y) z) (+.f64 y x)) (+.f64 t t))
(/.f64 #s(approx (- (+ x y) z) (-.f64 x z)) (+.f64 t t))
(/.f64 #s(approx (- (+ x y) z) (-.f64 y z)) (+.f64 t t))
(/.f64 #s(approx (- (+ x y) z) (neg.f64 z)) (*.f64 t #s(literal 2 binary64)))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 (+.f64 y x) t) #s(literal 1/2 binary64)))
(/.f64 #s(approx (- (+ x y) z) (-.f64 x z)) (*.f64 t #s(literal 2 binary64)))
(/.f64 #s(approx (- (+ x y) z) (-.f64 y z)) (*.f64 t #s(literal 2 binary64)))
(/.f64 (-.f64 (+.f64 x y) z) (*.f64 t #s(literal 2 binary64)))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 (fma.f64 x t (*.f64 t y)) (*.f64 t t)) #s(literal 1/2 binary64)))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 (fma.f64 y t (*.f64 t x)) (*.f64 t t)) #s(literal 1/2 binary64)))
#s(approx (/ (- (+ x y) z) (* t 2)) #s(approx (* (/ (+ y x) t) 1/2) (*.f64 (/.f64 (fma.f64 (/.f64 y x) #s(literal 1/2 binary64) #s(literal 1/2 binary64)) t) x)))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 #s(approx (+ (* (+ y x) (/ 1/2 z)) -1/2) (fma.f64 (/.f64 y z) #s(literal 1/2 binary64) #s(literal -1/2 binary64))) t) z))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (fma.f64 #s(approx (/ (+ x y) z) (/.f64 x z)) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) (/.f64 z t)))
(/.f64 #s(approx (- (+ x y) z) #s(approx (- y z) (*.f64 (-.f64 (/.f64 y z) #s(literal 1 binary64)) z))) (+.f64 t t))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 (fma.f64 (+.f64 y x) (/.f64 #s(literal 1/2 binary64) z) #s(literal -1/2 binary64)) t) z))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 (fma.f64 (-.f64 y z) (/.f64 #s(literal 1/2 binary64) x) #s(literal 1/2 binary64)) t) x))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (fma.f64 (/.f64 (+.f64 x y) z) #s(literal 1/2 binary64) #s(literal -1/2 binary64)) (/.f64 z t)))
Outputs
(/.f64 (-.f64 (+.f64 x y) z) (*.f64 t #s(literal 2 binary64)))
Calls

8 calls:

47.0ms
y
42.0ms
t
10.0ms
(-.f64 (+.f64 x y) z)
7.0ms
(+.f64 x y)
7.0ms
(*.f64 t #s(literal 2 binary64))
Results
AccuracySegmentsBranch
100.0%1(*.f64 t #s(literal 2 binary64))
100.0%1(+.f64 x y)
100.0%1(-.f64 (+.f64 x y) z)
100.0%1(/.f64 (-.f64 (+.f64 x y) z) (*.f64 t #s(literal 2 binary64)))
100.0%1x
100.0%1y
100.0%1z
100.0%1t
Compiler

Compiled 24 to 42 computations (-75% saved)

regimes45.0ms (0.9%)

Memory
-12.3MiB live, 88.3MiB allocated; 15ms collecting garbage
Counts
15 → 2
Calls
Call 1
Inputs
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 x (/.f64 #s(literal 1/2 binary64) t)))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(approx (/ (+ y x) t) (/.f64 y t)) #s(literal 1/2 binary64)))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 #s(literal -1/2 binary64) t) z))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 #s(literal 1/2 binary64) t) y))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 x t) #s(literal 1/2 binary64)))
#s(approx (/ (- (+ x y) z) (* t 2)) (/.f64 (*.f64 #s(literal -1/2 binary64) z) t))
#s(approx (/ (- (+ x y) z) (* t 2)) (/.f64 (*.f64 #s(literal 1/2 binary64) y) t))
(/.f64 #s(approx (- (+ x y) z) #s(approx (- y z) (neg.f64 z))) (+.f64 t t))
(/.f64 #s(approx (- (+ x y) z) (+.f64 y x)) (+.f64 t t))
(/.f64 #s(approx (- (+ x y) z) (-.f64 x z)) (+.f64 t t))
(/.f64 #s(approx (- (+ x y) z) (-.f64 y z)) (+.f64 t t))
(/.f64 #s(approx (- (+ x y) z) (neg.f64 z)) (*.f64 t #s(literal 2 binary64)))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 (+.f64 y x) t) #s(literal 1/2 binary64)))
(/.f64 #s(approx (- (+ x y) z) (-.f64 x z)) (*.f64 t #s(literal 2 binary64)))
(/.f64 #s(approx (- (+ x y) z) (-.f64 y z)) (*.f64 t #s(literal 2 binary64)))
Outputs
(/.f64 #s(approx (- (+ x y) z) (-.f64 x z)) (+.f64 t t))
(/.f64 #s(approx (- (+ x y) z) (-.f64 y z)) (+.f64 t t))
Calls

8 calls:

9.0ms
(-.f64 (+.f64 x y) z)
7.0ms
t
5.0ms
(+.f64 x y)
5.0ms
y
4.0ms
(*.f64 t #s(literal 2 binary64))
Results
AccuracySegmentsBranch
77.6%3(*.f64 t #s(literal 2 binary64))
98.4%2(+.f64 x y)
98.4%2(-.f64 (+.f64 x y) z)
98.4%2(/.f64 (-.f64 (+.f64 x y) z) (*.f64 t #s(literal 2 binary64)))
91.6%2x
91.6%2y
92.2%3z
77.6%3t
Compiler

Compiled 24 to 42 computations (-75% saved)

regimes73.0ms (1.4%)

Memory
-4.8MiB live, 40.1MiB allocated; 7ms collecting garbage
Counts
10 → 3
Calls
Call 1
Inputs
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 x (/.f64 #s(literal 1/2 binary64) t)))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(approx (/ (+ y x) t) (/.f64 y t)) #s(literal 1/2 binary64)))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 #s(literal -1/2 binary64) t) z))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 #s(literal 1/2 binary64) t) y))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 x t) #s(literal 1/2 binary64)))
#s(approx (/ (- (+ x y) z) (* t 2)) (/.f64 (*.f64 #s(literal -1/2 binary64) z) t))
#s(approx (/ (- (+ x y) z) (* t 2)) (/.f64 (*.f64 #s(literal 1/2 binary64) y) t))
(/.f64 #s(approx (- (+ x y) z) #s(approx (- y z) (neg.f64 z))) (+.f64 t t))
(/.f64 #s(approx (- (+ x y) z) (+.f64 y x)) (+.f64 t t))
(/.f64 #s(approx (- (+ x y) z) (-.f64 x z)) (+.f64 t t))
Outputs
(/.f64 #s(approx (- (+ x y) z) (-.f64 x z)) (+.f64 t t))
(/.f64 #s(approx (- (+ x y) z) (+.f64 y x)) (+.f64 t t))
(/.f64 #s(approx (- (+ x y) z) (-.f64 x z)) (+.f64 t t))
Calls

6 calls:

55.0ms
x
3.0ms
(-.f64 (+.f64 x y) z)
3.0ms
y
3.0ms
z
3.0ms
(+.f64 x y)
Results
AccuracySegmentsBranch
91.9%3z
88.1%2y
79.9%2x
89.1%2(+.f64 x y)
87.7%2(-.f64 (+.f64 x y) z)
87.4%2(/.f64 (-.f64 (+.f64 x y) z) (*.f64 t #s(literal 2 binary64)))
Compiler

Compiled 20 to 32 computations (-60% saved)

regimes19.0ms (0.4%)

Memory
-10.2MiB live, 34.7MiB allocated; 7ms collecting garbage
Counts
9 → 3
Calls
Call 1
Inputs
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 x (/.f64 #s(literal 1/2 binary64) t)))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(approx (/ (+ y x) t) (/.f64 y t)) #s(literal 1/2 binary64)))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 #s(literal -1/2 binary64) t) z))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 #s(literal 1/2 binary64) t) y))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 x t) #s(literal 1/2 binary64)))
#s(approx (/ (- (+ x y) z) (* t 2)) (/.f64 (*.f64 #s(literal -1/2 binary64) z) t))
#s(approx (/ (- (+ x y) z) (* t 2)) (/.f64 (*.f64 #s(literal 1/2 binary64) y) t))
(/.f64 #s(approx (- (+ x y) z) #s(approx (- y z) (neg.f64 z))) (+.f64 t t))
(/.f64 #s(approx (- (+ x y) z) (+.f64 y x)) (+.f64 t t))
Outputs
#s(approx (/ (- (+ x y) z) (* t 2)) (/.f64 (*.f64 #s(literal -1/2 binary64) z) t))
(/.f64 #s(approx (- (+ x y) z) (+.f64 y x)) (+.f64 t t))
#s(approx (/ (- (+ x y) z) (* t 2)) (/.f64 (*.f64 #s(literal -1/2 binary64) z) t))
Calls

5 calls:

6.0ms
(/.f64 (-.f64 (+.f64 x y) z) (*.f64 t #s(literal 2 binary64)))
3.0ms
z
3.0ms
(-.f64 (+.f64 x y) z)
3.0ms
y
3.0ms
(+.f64 x y)
Results
AccuracySegmentsBranch
72.7%1(/.f64 (-.f64 (+.f64 x y) z) (*.f64 t #s(literal 2 binary64)))
72.7%1(-.f64 (+.f64 x y) z)
72.7%1y
81.1%3(+.f64 x y)
87.2%3z
Compiler

Compiled 19 to 28 computations (-47.4% saved)

regimes9.0ms (0.2%)

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

3 calls:

3.0ms
z
3.0ms
x
3.0ms
(+.f64 x y)
Results
AccuracySegmentsBranch
79.8%3(+.f64 x y)
69.3%3x
63.6%6z
Compiler

Compiled 5 to 13 computations (-160% saved)

regimes2.0ms (0%)

Memory
5.5MiB live, 5.5MiB allocated; 0ms collecting garbage
Counts
5 → 3
Calls
Call 1
Inputs
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 x (/.f64 #s(literal 1/2 binary64) t)))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(approx (/ (+ y x) t) (/.f64 y t)) #s(literal 1/2 binary64)))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 #s(literal -1/2 binary64) t) z))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 #s(literal 1/2 binary64) t) y))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 x t) #s(literal 1/2 binary64)))
Outputs
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 x (/.f64 #s(literal 1/2 binary64) t)))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 #s(literal -1/2 binary64) t) z))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(approx (/ (+ y x) t) (/.f64 y t)) #s(literal 1/2 binary64)))
Calls

1 calls:

2.0ms
(+.f64 x y)
Results
AccuracySegmentsBranch
79.7%3(+.f64 x y)
Compiler

Compiled 3 to 5 computations (-66.7% saved)

regimes34.0ms (0.7%)

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

6 calls:

27.0ms
(/.f64 (-.f64 (+.f64 x y) z) (*.f64 t #s(literal 2 binary64)))
1.0ms
(-.f64 (+.f64 x y) z)
1.0ms
y
1.0ms
(*.f64 t #s(literal 2 binary64))
1.0ms
t
Results
AccuracySegmentsBranch
63.9%2y
71.5%2(/.f64 (-.f64 (+.f64 x y) z) (*.f64 t #s(literal 2 binary64)))
71.5%2(-.f64 (+.f64 x y) z)
48.6%4(*.f64 t #s(literal 2 binary64))
48.6%4t
70.9%2(+.f64 x y)
Compiler

Compiled 22 to 34 computations (-54.5% saved)

regimes9.0ms (0.2%)

Memory
27.7MiB live, 27.7MiB 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) z) (* t 2)) (*.f64 x (/.f64 #s(literal 1/2 binary64) t)))
Outputs
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 x (/.f64 #s(literal 1/2 binary64) t)))
Calls

8 calls:

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

Compiled 24 to 42 computations (-75% saved)

bsearch1.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-3.647814021369604e-304
-0.0
Compiler

Compiled 12 to 16 computations (-33.3% saved)

bsearch29.0ms (0.6%)

Memory
-24.9MiB live, 28.7MiB allocated; 12ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
8.0ms
3.989088813066186e+136
6.3376936574768505e+137
18.0ms
-173545032728.78436
-275478121.2102864
Samples
18.0ms224×0valid
Compiler

Compiled 376 to 324 computations (13.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 12.0ms
ival-div: 8.0ms (64.9% of total)
ival-sub: 1.0ms (8.1% of total)
ival-add: 1.0ms (8.1% of total)
ival-mult: 1.0ms (8.1% 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)

bsearch19.0ms (0.4%)

Memory
24.5MiB live, 24.5MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
7.0ms
3.989088813066186e+136
6.3376936574768505e+137
10.0ms
-4.067221306348788e+98
-3.2765189984204086e+96
Samples
9.0ms192×0valid
Compiler

Compiled 376 to 341 computations (9.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 5.0ms
ival-sub: 1.0ms (22.2% of total)
ival-div: 1.0ms (22.2% of total)
ival-add: 1.0ms (22.2% of total)
ival-mult: 1.0ms (22.2% 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)

bsearch1.0ms (0%)

Memory
1.8MiB live, 1.8MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.2590648224223908e-103
2.934528400892524e-96
0.0ms
-3.4261903227208726e+44
-2.9166520406341324e+31
Compiler

Compiled 12 to 16 computations (-33.3% saved)

bsearch1.0ms (0%)

Memory
2.3MiB live, 2.3MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.2590648224223908e-103
2.934528400892524e-96
0.0ms
-3.4261903227208726e+44
-2.9166520406341324e+31
Compiler

Compiled 12 to 16 computations (-33.3% saved)

bsearch0.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-3.5608518892035534e-204
7.662542538353245e-231
Compiler

Compiled 12 to 16 computations (-33.3% saved)

simplify108.0ms (2.1%)

Memory
-24.2MiB live, 62.7MiB allocated; 24ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
066304
190304
2124304
3183304
4325304
51242304
67119304
Stop Event
node limit
Calls
Call 1
Inputs
(/.f64 (-.f64 (+.f64 x y) z) (*.f64 t #s(literal 2 binary64)))
(if (<=.f64 (/.f64 (-.f64 (+.f64 x y) z) (*.f64 t #s(literal 2 binary64))) #s(literal -4941461262385513/24707306311927565716857342128774085333197833223161879682238935306082805123046306993647507776054336486228891340858985829027076261887914242781617846672453431386903982455635542158748401823985988322905245077938567513252198179128990807936780194781391547404884040101606295111368825026273254703636026307207764436438929167613952 binary64)) (/.f64 #s(approx (- (+ x y) z) (-.f64 x z)) (+.f64 t t)) (/.f64 #s(approx (- (+ x y) z) (-.f64 y z)) (+.f64 t t)))
(if (<=.f64 z #s(literal -32500000000 binary64)) (/.f64 #s(approx (- (+ x y) z) (-.f64 x z)) (+.f64 t t)) (if (<=.f64 z #s(literal 40000000000000002346562450802960479021848171455589217552374854182039285408215262438019101431845574359216121503428029997507208414467457024 binary64)) (/.f64 #s(approx (- (+ x y) z) (+.f64 y x)) (+.f64 t t)) (/.f64 #s(approx (- (+ x y) z) (-.f64 x z)) (+.f64 t t))))
(if (<=.f64 z #s(literal -399999999999999999076148098057483202786450191969615355682227455864390346192518705911647729914740736 binary64)) #s(approx (/ (- (+ x y) z) (* t 2)) (/.f64 (*.f64 #s(literal -1/2 binary64) z) t)) (if (<=.f64 z #s(literal 579999999999999969468908584470212204418819186030746796266790564908981817652637391835086420340730962467499929796260649066275222691090792448 binary64)) (/.f64 #s(approx (- (+ x y) z) (+.f64 y x)) (+.f64 t t)) #s(approx (/ (- (+ x y) z) (* t 2)) (/.f64 (*.f64 #s(literal -1/2 binary64) z) t))))
(if (<=.f64 (+.f64 x y) #s(literal -200000000000000017642722810612845281403731968 binary64)) #s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 x (/.f64 #s(literal 1/2 binary64) t))) (if (<=.f64 (+.f64 x y) #s(literal 8069530869021589/40347654345107946713373737062547060536401653012956617387979052445947619094013143666088208645002153616185987062074179584 binary64)) #s(approx (/ (- (+ x y) z) (* t 2)) (/.f64 (*.f64 #s(literal -1/2 binary64) z) t)) #s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(approx (/ (+ y x) t) (/.f64 y t)) #s(literal 1/2 binary64)))))
(if (<=.f64 (+.f64 x y) #s(literal -200000000000000017642722810612845281403731968 binary64)) #s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 x (/.f64 #s(literal 1/2 binary64) t))) (if (<=.f64 (+.f64 x y) #s(literal 8069530869021589/40347654345107946713373737062547060536401653012956617387979052445947619094013143666088208645002153616185987062074179584 binary64)) #s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 #s(literal -1/2 binary64) t) z)) #s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(approx (/ (+ y x) t) (/.f64 y t)) #s(literal 1/2 binary64)))))
(if (<=.f64 (-.f64 (+.f64 x y) z) #s(literal -5648027917416435/2824013958708217496949108842204627863351353911851577524683401930862693830361198499905873920995229996970897865498283996578123296865878390947626553088486946106430796091482716120572632072492703527723757359478834530365734912 binary64)) #s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 x (/.f64 #s(literal 1/2 binary64) t))) #s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(approx (/ (+ y x) t) (/.f64 y t)) #s(literal 1/2 binary64))))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 x (/.f64 #s(literal 1/2 binary64) t)))
Outputs
(/.f64 (-.f64 (+.f64 x y) z) (*.f64 t #s(literal 2 binary64)))
(if (<=.f64 (/.f64 (-.f64 (+.f64 x y) z) (*.f64 t #s(literal 2 binary64))) #s(literal -4941461262385513/24707306311927565716857342128774085333197833223161879682238935306082805123046306993647507776054336486228891340858985829027076261887914242781617846672453431386903982455635542158748401823985988322905245077938567513252198179128990807936780194781391547404884040101606295111368825026273254703636026307207764436438929167613952 binary64)) (/.f64 #s(approx (- (+ x y) z) (-.f64 x z)) (+.f64 t t)) (/.f64 #s(approx (- (+ x y) z) (-.f64 y z)) (+.f64 t t)))
(if (<=.f64 z #s(literal -32500000000 binary64)) (/.f64 #s(approx (- (+ x y) z) (-.f64 x z)) (+.f64 t t)) (if (<=.f64 z #s(literal 40000000000000002346562450802960479021848171455589217552374854182039285408215262438019101431845574359216121503428029997507208414467457024 binary64)) (/.f64 #s(approx (- (+ x y) z) (+.f64 y x)) (+.f64 t t)) (/.f64 #s(approx (- (+ x y) z) (-.f64 x z)) (+.f64 t t))))
(if (or (<=.f64 z #s(literal -32500000000 binary64)) (not (<=.f64 z #s(literal 40000000000000002346562450802960479021848171455589217552374854182039285408215262438019101431845574359216121503428029997507208414467457024 binary64)))) (/.f64 #s(approx (- (+ x y) z) (-.f64 x z)) (+.f64 t t)) (/.f64 #s(approx (- (+ x y) z) (+.f64 y x)) (+.f64 t t)))
(if (<=.f64 z #s(literal -399999999999999999076148098057483202786450191969615355682227455864390346192518705911647729914740736 binary64)) #s(approx (/ (- (+ x y) z) (* t 2)) (/.f64 (*.f64 #s(literal -1/2 binary64) z) t)) (if (<=.f64 z #s(literal 579999999999999969468908584470212204418819186030746796266790564908981817652637391835086420340730962467499929796260649066275222691090792448 binary64)) (/.f64 #s(approx (- (+ x y) z) (+.f64 y x)) (+.f64 t t)) #s(approx (/ (- (+ x y) z) (* t 2)) (/.f64 (*.f64 #s(literal -1/2 binary64) z) t))))
(if (or (<=.f64 z #s(literal -399999999999999999076148098057483202786450191969615355682227455864390346192518705911647729914740736 binary64)) (not (<=.f64 z #s(literal 579999999999999969468908584470212204418819186030746796266790564908981817652637391835086420340730962467499929796260649066275222691090792448 binary64)))) #s(approx (/ (- (+ x y) z) (* t 2)) (/.f64 (*.f64 #s(literal -1/2 binary64) z) t)) (/.f64 #s(approx (- (+ x y) z) (+.f64 y x)) (+.f64 t t)))
(if (<=.f64 (+.f64 x y) #s(literal -200000000000000017642722810612845281403731968 binary64)) #s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 x (/.f64 #s(literal 1/2 binary64) t))) (if (<=.f64 (+.f64 x y) #s(literal 8069530869021589/40347654345107946713373737062547060536401653012956617387979052445947619094013143666088208645002153616185987062074179584 binary64)) #s(approx (/ (- (+ x y) z) (* t 2)) (/.f64 (*.f64 #s(literal -1/2 binary64) z) t)) #s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(approx (/ (+ y x) t) (/.f64 y t)) #s(literal 1/2 binary64)))))
(if (<=.f64 (+.f64 x y) #s(literal -200000000000000017642722810612845281403731968 binary64)) #s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 x (/.f64 #s(literal 1/2 binary64) t))) (if (<=.f64 (+.f64 x y) #s(literal 8069530869021589/40347654345107946713373737062547060536401653012956617387979052445947619094013143666088208645002153616185987062074179584 binary64)) #s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 #s(literal -1/2 binary64) t) z)) #s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(approx (/ (+ y x) t) (/.f64 y t)) #s(literal 1/2 binary64)))))
(if (<=.f64 (-.f64 (+.f64 x y) z) #s(literal -5648027917416435/2824013958708217496949108842204627863351353911851577524683401930862693830361198499905873920995229996970897865498283996578123296865878390947626553088486946106430796091482716120572632072492703527723757359478834530365734912 binary64)) #s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 x (/.f64 #s(literal 1/2 binary64) t))) #s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(approx (/ (+ y x) t) (/.f64 y t)) #s(literal 1/2 binary64))))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 x (/.f64 #s(literal 1/2 binary64) t)))

derivations377.0ms (7.5%)

Memory
28.2MiB live, 368.2MiB allocated; 57ms collecting garbage
Stop Event
fuel
Compiler

Compiled 304 to 69 computations (77.3% saved)

preprocess125.0ms (2.5%)

Memory
-4.8MiB live, 181.6MiB allocated; 20ms collecting garbage
Remove

(sort x y)

(negabs t)

Compiler

Compiled 698 to 228 computations (67.3% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...