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

Time bar (total: 4.9s)

start0.0ms (0%)

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

analyze139.0ms (2.8%)

Memory
38.0MiB live, 189.3MiB allocated; 42ms 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.7%)

Memory
-18.3MiB live, 1 508.6MiB allocated; 430ms collecting garbage
Samples
743.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 369.0ms
ival-add: 135.0ms (36.6% of total)
ival-div: 94.0ms (25.5% of total)
ival-mult: 79.0ms (21.4% of total)
ival-sub: 43.0ms (11.7% of total)
ival-true: 6.0ms (1.6% of total)
exact: 5.0ms (1.4% of total)
ival-assert: 3.0ms (0.8% of total)
adjust: 2.0ms (0.5% of total)
Bogosity

explain148.0ms (3%)

Memory
26.4MiB live, 218.8MiB allocated; 14ms 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
49.0ms512×0valid
Compiler

Compiled 63 to 31 computations (50.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 30.0ms
ival-add: 19.0ms (62.3% of total)
ival-div: 4.0ms (13.1% of total)
ival-mult: 4.0ms (13.1% of total)
ival-sub: 3.0ms (9.8% 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)

preprocess311.0ms (6.3%)

Memory
-22.7MiB live, 359.7MiB allocated; 53ms 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.9MiB live, 0.9MiB 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)

simplify200.0ms (4%)

Memory
-1.3MiB live, 181.6MiB allocated; 34ms 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)

localize43.0ms (0.9%)

Memory
18.4MiB live, 64.8MiB allocated; 4ms collecting garbage
Localize:

Found 4 expressions of interest:

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

Compiled 27 to 11 computations (59.3% saved)

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

series10.0ms (0.2%)

Memory
17.1MiB live, 17.1MiB 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
x
@-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))
1.0ms
t
@inf
((/ (- (+ 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))

simplify203.0ms (4.1%)

Memory
-40.4MiB live, 303.8MiB allocated; 46ms 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)

rewrite69.0ms (1.4%)

Memory
34.6MiB live, 80.4MiB allocated; 5ms 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)

eval24.0ms (0.5%)

Memory
-27.8MiB live, 26.0MiB allocated; 9ms collecting garbage
Compiler

Compiled 1 132 to 246 computations (78.3% saved)

prune7.0ms (0.1%)

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

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New541165
Fresh000
Picked101
Done000
Total551166
Accuracy
100.0%
Counts
66 → 11
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(/.f64 (-.f64 (+.f64 x y) z) (+.f64 t t))
100.0%
(/.f64 (+.f64 (-.f64 y z) x) (*.f64 t #s(literal 2 binary64)))
65.4%
(/.f64 #s(approx (- (+ x y) z) (-.f64 y z)) (*.f64 t #s(literal 2 binary64)))
68.0%
(/.f64 #s(approx (- (+ x y) z) (-.f64 x z)) (*.f64 t #s(literal 2 binary64)))
82.8%
(/.f64 #s(approx (- (+ x y) z) (*.f64 (-.f64 (/.f64 (+.f64 y x) z) #s(literal 1 binary64)) z)) (*.f64 t #s(literal 2 binary64)))
33.5%
(/.f64 #s(approx (- (+ x y) z) (neg.f64 z)) (*.f64 t #s(literal 2 binary64)))
83.8%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 (fma.f64 (-.f64 x z) (/.f64 #s(literal 1/2 binary64) y) #s(literal 1/2 binary64)) t) y))
73.0%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 (+.f64 y x) t) #s(literal 1/2 binary64)))
39.4%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 x t) #s(literal 1/2 binary64)))
38.1%
#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 318 to 268 computations (15.7% saved)

simplify135.0ms (2.7%)

Memory
13.9MiB live, 147.5MiB allocated; 23ms 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
(*.f64 t #s(literal 2 binary64))
cost-diff0
(-.f64 y z)
cost-diff0
(+.f64 (-.f64 y z) x)
cost-diff0
(/.f64 (+.f64 (-.f64 y z) x) (*.f64 t #s(literal 2 binary64)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
027145
039145
171145
2126145
3213145
4405145
51184145
65913145
08257145
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(/.f64 (+.f64 (-.f64 y z) x) (*.f64 t #s(literal 2 binary64)))
(+.f64 (-.f64 y z) x)
(-.f64 y z)
y
z
x
(*.f64 t #s(literal 2 binary64))
t
#s(literal 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(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
(/.f64 (+.f64 (-.f64 y z) x) (*.f64 t #s(literal 2 binary64)))
(/.f64 (-.f64 (+.f64 x y) z) (*.f64 #s(literal 2 binary64) t))
(+.f64 (-.f64 y z) x)
(-.f64 (+.f64 x y) z)
(-.f64 y z)
y
z
x
(*.f64 t #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) t)
t
#s(literal 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(literal -1/2 binary64)
t
z
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 x t) #s(literal 1/2 binary64)))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal 1/2 binary64) (/.f64 x t)))
(*.f64 (/.f64 x t) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (/.f64 x t))
(/.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)))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (+.f64 x y) (/.f64 #s(literal 1/2 binary64) t)))
(*.f64 (/.f64 (+.f64 y x) t) #s(literal 1/2 binary64))
(*.f64 (+.f64 x y) (/.f64 #s(literal 1/2 binary64) t))
(/.f64 (+.f64 y x) t)
(/.f64 (+.f64 x y) t)
(+.f64 y x)
(+.f64 x y)
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)

localize148.0ms (3%)

Memory
-34.3MiB live, 163.9MiB allocated; 16ms 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)))
accuracy22.92893774282917
#s(approx (- (+ x y) z) (-.f64 y z))
accuracy0.0
(+.f64 y x)
accuracy0.0
(*.f64 (/.f64 (+.f64 y x) t) #s(literal 1/2 binary64))
accuracy0.015625
(/.f64 (+.f64 y x) t)
accuracy17.26892192805452
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 (+.f64 y x) t) #s(literal 1/2 binary64)))
accuracy0.0
(/.f64 x t)
accuracy0.00390625
(*.f64 (/.f64 x t) #s(literal 1/2 binary64))
accuracy38.778935455789615
#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.203125
(*.f64 (/.f64 #s(literal -1/2 binary64) t) z)
accuracy42.57666443475978
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 #s(literal -1/2 binary64) t) z))
accuracy0.0
(-.f64 y z)
accuracy0.0
(+.f64 (-.f64 y z) x)
accuracy0.0
(*.f64 t #s(literal 2 binary64))
accuracy0.015625
(/.f64 (+.f64 (-.f64 y z) x) (*.f64 t #s(literal 2 binary64)))
Samples
112.0ms256×0valid
Compiler

Compiled 119 to 23 computations (80.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 83.0ms
ival-mult: 64.0ms (77.4% of total)
ival-div: 12.0ms (14.5% of total)
ival-add: 4.0ms (4.8% of total)
ival-sub: 3.0ms (3.6% 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)

series34.0ms (0.7%)

Memory
2.2MiB live, 53.3MiB allocated; 4ms collecting garbage
Counts
16 → 54
Calls
Call 1
Inputs
(/.f64 (+.f64 (-.f64 y z) x) (*.f64 t #s(literal 2 binary64)))
(+.f64 (-.f64 y z) x)
(-.f64 y z)
(*.f64 t #s(literal 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))
Outputs
(* 1/2 (/ (- y z) t))
(+ (* 1/2 (/ x t)) (* 1/2 (/ (- y z) t)))
(- y z)
(- (+ x y) z)
(* 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)
(* x (+ (* 1/2 (/ (- (/ y t) (/ z t)) x)) (* 1/2 (/ 1 t))))
x
(* x (- (+ 1 (/ y x)) (/ z x)))
(* x (+ (* 1/2 (/ y (* t x))) (* 1/2 (/ 1 t))))
(* x (+ (/ 1 t) (/ y (* t 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/2 (/ y (* t x))) (* 1/2 (/ 1 t)))))
(* -1 (* x (- (* -1 (/ y (* t x))) (/ 1 t))))
(* -1 (* x (- (* -1 (/ y x)) 1)))
(* 1/2 (/ (- x z) t))
(+ (* 1/2 (/ y t)) (* 1/2 (/ (- x z) t)))
(- x z)
(* -1 z)
(* y (+ (* 1/2 (/ (- (/ x t) (/ z t)) y)) (* 1/2 (/ 1 t))))
(* y (- (+ 1 (/ x y)) (/ z y)))
(* y (+ 1 (* -1 (/ z y))))
(* y (+ (* 1/2 (/ x (* t y))) (* 1/2 (/ 1 t))))
(* y (+ (/ 1 t) (/ x (* t 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 (- (/ z y) 1)))
(* -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/2 (/ (+ x y) t))
(+ (* -1/2 (/ z t)) (* 1/2 (/ (+ x y) t)))
(+ x (+ y (* -1 z)))
(+ y (* -1 z))
(* -1/2 (/ z t))
(* z (- (* 1/2 (/ (+ (/ x t) (/ y t)) z)) (* 1/2 (/ 1 t))))
(* 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 (* -1 (/ (+ x y) z)))))
(* -1 (* z (+ 1 (* -1 (/ y z)))))
(* 1/2 (/ (- (+ x y) z) t))
(* 2 t)
(/ -1/2 t)
(/ (+ x y) t)
Calls

12 calls:

TimeVariablePointExpression
17.0ms
t
@inf
((/ (+ (- y z) x) (* t 2)) (+ (- y z) x) (- y z) (* t 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))
3.0ms
x
@0
((/ (+ (- y z) x) (* t 2)) (+ (- y z) x) (- y z) (* t 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))
2.0ms
t
@-inf
((/ (+ (- y z) x) (* t 2)) (+ (- y z) x) (- y z) (* t 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))
2.0ms
t
@0
((/ (+ (- y z) x) (* t 2)) (+ (- y z) x) (- y z) (* t 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))
2.0ms
x
@-inf
((/ (+ (- y z) x) (* t 2)) (+ (- y z) x) (- y z) (* t 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))

simplify300.0ms (6.1%)

Memory
6.3MiB live, 289.1MiB allocated; 33ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0147437
1461427
21497415
35683403
08771383
Stop Event
iter limit
node limit
Counts
54 → 52
Calls
Call 1
Inputs
(* 1/2 (/ (- y z) t))
(+ (* 1/2 (/ x t)) (* 1/2 (/ (- y z) t)))
(- y z)
(- (+ x y) z)
(* 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)
(* x (+ (* 1/2 (/ (- (/ y t) (/ z t)) x)) (* 1/2 (/ 1 t))))
x
(* x (- (+ 1 (/ y x)) (/ z x)))
(* x (+ (* 1/2 (/ y (* t x))) (* 1/2 (/ 1 t))))
(* x (+ (/ 1 t) (/ y (* t 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/2 (/ y (* t x))) (* 1/2 (/ 1 t)))))
(* -1 (* x (- (* -1 (/ y (* t x))) (/ 1 t))))
(* -1 (* x (- (* -1 (/ y x)) 1)))
(* 1/2 (/ (- x z) t))
(+ (* 1/2 (/ y t)) (* 1/2 (/ (- x z) t)))
(- x z)
(* -1 z)
(* y (+ (* 1/2 (/ (- (/ x t) (/ z t)) y)) (* 1/2 (/ 1 t))))
(* y (- (+ 1 (/ x y)) (/ z y)))
(* y (+ 1 (* -1 (/ z y))))
(* y (+ (* 1/2 (/ x (* t y))) (* 1/2 (/ 1 t))))
(* y (+ (/ 1 t) (/ x (* t 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 (- (/ z y) 1)))
(* -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/2 (/ (+ x y) t))
(+ (* -1/2 (/ z t)) (* 1/2 (/ (+ x y) t)))
(+ x (+ y (* -1 z)))
(+ y (* -1 z))
(* -1/2 (/ z t))
(* z (- (* 1/2 (/ (+ (/ x t) (/ y t)) z)) (* 1/2 (/ 1 t))))
(* 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 (* -1 (/ (+ x y) z)))))
(* -1 (* z (+ 1 (* -1 (/ y z)))))
(* 1/2 (/ (- (+ x y) z) t))
(* 2 t)
(/ -1/2 t)
(/ (+ x 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 x y) z) t) #s(literal 1/2 binary64))
(- y z)
(-.f64 y z)
(- (+ x y) z)
(-.f64 (+.f64 x y) z)
(* 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)
(* 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/2 (/ y (* t x))) (* 1/2 (/ 1 t))))
(*.f64 (/.f64 (fma.f64 (/.f64 y x) x x) t) #s(literal 1/2 binary64))
(* x (+ (/ 1 t) (/ y (* t x))))
(/.f64 (fma.f64 (/.f64 y x) x x) t)
(* 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/2 (/ y (* t x))) (* 1/2 (/ 1 t)))))
(*.f64 (/.f64 (fma.f64 (/.f64 y x) x x) t) #s(literal 1/2 binary64))
(* -1 (* x (- (* -1 (/ y (* t x))) (/ 1 t))))
(*.f64 (neg.f64 x) (-.f64 (/.f64 (neg.f64 y) (*.f64 t x)) (/.f64 #s(literal 1 binary64) t)))
(* -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 x y) z) t) #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 (/.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 (* -1 (/ z y))))
(fma.f64 (/.f64 (neg.f64 z) y) y y)
(* y (+ (* 1/2 (/ x (* t y))) (* 1/2 (/ 1 t))))
(*.f64 (/.f64 (fma.f64 (/.f64 x y) y y) t) #s(literal 1/2 binary64))
(* y (+ (/ 1 t) (/ x (* t y))))
(/.f64 (fma.f64 (/.f64 x y) y y) t)
(* 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 (- (/ z y) 1)))
(fma.f64 (/.f64 (neg.f64 z) y) y y)
(* -1 (* y (- (* -1/2 (/ x (* t y))) (* 1/2 (/ 1 t)))))
(*.f64 (/.f64 (fma.f64 (/.f64 x y) y y) t) #s(literal 1/2 binary64))
(* -1 (* y (- (* -1 (/ x (* t y))) (/ 1 t))))
(*.f64 (neg.f64 y) (-.f64 (/.f64 (neg.f64 x) (*.f64 t y)) (/.f64 #s(literal 1 binary64) t)))
(* -1 (* y (- (* -1 (/ x y)) 1)))
(fma.f64 (/.f64 x y) 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))
(+ x (+ y (* -1 z)))
(-.f64 (+.f64 x y) 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 (fma.f64 (+.f64 x y) (/.f64 #s(literal 1/2 binary64) z) #s(literal -1/2 binary64)) t) z)
(* 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 t) (/ y t)) z)) (* 1/2 (/ 1 t)))))
(*.f64 (/.f64 (fma.f64 (+.f64 x y) (/.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 x y) 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 x y) z) t) #s(literal 1/2 binary64))
(* 2 t)
(*.f64 #s(literal 2 binary64) t)
(/ -1/2 t)
(/.f64 #s(literal -1/2 binary64) t)
(/ (+ x y) t)
(/.f64 (+.f64 x y) t)

rewrite116.0ms (2.3%)

Memory
-7.3MiB live, 79.7MiB allocated; 57ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
027120
039120
1138120
0962120
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
16 → 137
Calls
Call 1
Inputs
(/.f64 (+.f64 (-.f64 y z) x) (*.f64 t #s(literal 2 binary64)))
(+.f64 (-.f64 y z) x)
(-.f64 y z)
(*.f64 t #s(literal 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))
Outputs
(/.f64 (/.f64 (+.f64 x (-.f64 y z)) #s(literal 2 binary64)) t)
(/.f64 (-.f64 (*.f64 (/.f64 (/.f64 (+.f64 x y) t) #s(literal 2 binary64)) (/.f64 (/.f64 (+.f64 x y) t) #s(literal 2 binary64))) (*.f64 (/.f64 z (*.f64 #s(literal 2 binary64) t)) (/.f64 z (*.f64 #s(literal 2 binary64) t)))) (+.f64 (/.f64 (/.f64 (+.f64 x y) t) #s(literal 2 binary64)) (/.f64 z (*.f64 #s(literal 2 binary64) t))))
(/.f64 (-.f64 (*.f64 (/.f64 (/.f64 (-.f64 y z) #s(literal 2 binary64)) t) (/.f64 (/.f64 (-.f64 y z) #s(literal 2 binary64)) t)) (*.f64 (/.f64 (/.f64 x t) #s(literal 2 binary64)) (/.f64 (/.f64 x t) #s(literal 2 binary64)))) (-.f64 (/.f64 (/.f64 (-.f64 y z) #s(literal 2 binary64)) t) (/.f64 (/.f64 x t) #s(literal 2 binary64))))
(/.f64 (-.f64 (pow.f64 (/.f64 (/.f64 (+.f64 x y) t) #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (/.f64 z (*.f64 #s(literal 2 binary64) t)) #s(literal 3 binary64))) (fma.f64 (/.f64 (/.f64 (+.f64 x y) t) #s(literal 2 binary64)) (/.f64 (/.f64 (+.f64 x y) t) #s(literal 2 binary64)) (fma.f64 (/.f64 z (*.f64 #s(literal 2 binary64) t)) (/.f64 z (*.f64 #s(literal 2 binary64) t)) (*.f64 (/.f64 (/.f64 (+.f64 x y) t) #s(literal 2 binary64)) (/.f64 z (*.f64 #s(literal 2 binary64) t))))))
(/.f64 (+.f64 (pow.f64 (/.f64 (/.f64 (-.f64 y z) #s(literal 2 binary64)) t) #s(literal 3 binary64)) (pow.f64 (/.f64 (/.f64 x t) #s(literal 2 binary64)) #s(literal 3 binary64))) (fma.f64 (/.f64 (/.f64 (-.f64 y z) #s(literal 2 binary64)) t) (/.f64 (/.f64 (-.f64 y z) #s(literal 2 binary64)) t) (-.f64 (*.f64 (/.f64 (/.f64 x t) #s(literal 2 binary64)) (/.f64 (/.f64 x t) #s(literal 2 binary64))) (*.f64 (/.f64 (/.f64 (-.f64 y z) #s(literal 2 binary64)) t) (/.f64 (/.f64 x t) #s(literal 2 binary64))))))
(/.f64 (neg.f64 (/.f64 (+.f64 x (-.f64 y z)) t)) #s(literal -2 binary64))
(/.f64 (neg.f64 (neg.f64 (+.f64 x (-.f64 y z)))) (neg.f64 (*.f64 #s(literal -2 binary64) t)))
(/.f64 (-.f64 (*.f64 (+.f64 x y) (*.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 (fma.f64 (-.f64 y z) (*.f64 #s(literal 2 binary64) t) (*.f64 (*.f64 #s(literal 2 binary64) t) x)) (*.f64 (*.f64 #s(literal 2 binary64) t) (*.f64 #s(literal 2 binary64) t)))
(/.f64 (/.f64 (+.f64 x (-.f64 y z)) t) #s(literal 2 binary64))
(/.f64 (-.f64 (pow.f64 (+.f64 x y) #s(literal 2 binary64)) (*.f64 z z)) (*.f64 (+.f64 (+.f64 x y) z) (*.f64 #s(literal 2 binary64) t)))
(/.f64 (-.f64 (pow.f64 (-.f64 y z) #s(literal 2 binary64)) (*.f64 x x)) (*.f64 (-.f64 (-.f64 y z) x) (*.f64 #s(literal 2 binary64) t)))
(/.f64 (-.f64 (pow.f64 (+.f64 x y) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64))) (*.f64 (fma.f64 z (+.f64 (+.f64 x y) z) (pow.f64 (+.f64 x y) #s(literal 2 binary64))) (*.f64 #s(literal 2 binary64) t)))
(/.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 (-.f64 y z) #s(literal 3 binary64))) (*.f64 (fma.f64 x (-.f64 x (-.f64 y z)) (pow.f64 (-.f64 y z) #s(literal 2 binary64))) (*.f64 #s(literal 2 binary64) t)))
(/.f64 (neg.f64 (+.f64 x (-.f64 y z))) (*.f64 #s(literal -2 binary64) t))
(/.f64 (+.f64 x (-.f64 y z)) (*.f64 #s(literal 2 binary64) t))
(neg.f64 (/.f64 (neg.f64 (+.f64 x (-.f64 y z))) (*.f64 #s(literal 2 binary64) t)))
(neg.f64 (/.f64 (+.f64 x (-.f64 y z)) (*.f64 #s(literal -2 binary64) t)))
(-.f64 (/.f64 y (*.f64 #s(literal 2 binary64) t)) (/.f64 (-.f64 z x) (*.f64 #s(literal 2 binary64) t)))
(-.f64 (/.f64 (/.f64 (+.f64 x y) t) #s(literal 2 binary64)) (/.f64 z (*.f64 #s(literal 2 binary64) t)))
(+.f64 (/.f64 (/.f64 x t) #s(literal 2 binary64)) (/.f64 (/.f64 (-.f64 y z) #s(literal 2 binary64)) t))
(+.f64 (/.f64 (/.f64 (-.f64 y z) #s(literal 2 binary64)) t) (/.f64 (/.f64 x t) #s(literal 2 binary64)))
(/.f64 (-.f64 (*.f64 y y) (*.f64 (-.f64 z x) (-.f64 z x))) (+.f64 y (-.f64 z x)))
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (-.f64 y z) #s(literal 2 binary64))) (-.f64 x (-.f64 y z)))
(/.f64 (-.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 (-.f64 z x) #s(literal 3 binary64))) (fma.f64 y y (fma.f64 (-.f64 z x) (-.f64 z x) (*.f64 y (-.f64 z x)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (+.f64 x y) #s(literal 2 binary64)) (*.f64 z z))) (neg.f64 (+.f64 (+.f64 x y) z)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (-.f64 y z) #s(literal 2 binary64)) (*.f64 x x))) (neg.f64 (-.f64 (-.f64 y z) x)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (+.f64 x y) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64)))) (neg.f64 (fma.f64 z (+.f64 (+.f64 x y) z) (pow.f64 (+.f64 x y) #s(literal 2 binary64)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 (-.f64 y z) #s(literal 3 binary64)))) (neg.f64 (fma.f64 x (-.f64 x (-.f64 y z)) (pow.f64 (-.f64 y z) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (+.f64 x y) #s(literal 2 binary64)) (*.f64 z z)) (+.f64 (+.f64 x y) z))
(/.f64 (-.f64 (pow.f64 (-.f64 y z) #s(literal 2 binary64)) (*.f64 x x)) (-.f64 (-.f64 y z) x))
(/.f64 (-.f64 (pow.f64 (+.f64 x y) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64))) (fma.f64 z (+.f64 (+.f64 x y) z) (pow.f64 (+.f64 x y) #s(literal 2 binary64))))
(/.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 (-.f64 y z) #s(literal 3 binary64))) (fma.f64 x x (-.f64 (pow.f64 (-.f64 y z) #s(literal 2 binary64)) (*.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 (-.f64 x (-.f64 y z)) (pow.f64 (-.f64 y z) #s(literal 2 binary64))))
(-.f64 (/.f64 (pow.f64 (+.f64 x y) #s(literal 2 binary64)) (+.f64 (+.f64 x y) z)) (/.f64 (*.f64 z z) (+.f64 (+.f64 x y) z)))
(-.f64 (/.f64 (pow.f64 (-.f64 y z) #s(literal 2 binary64)) (-.f64 (-.f64 y z) x)) (/.f64 (*.f64 x x) (-.f64 (-.f64 y z) x)))
(-.f64 (/.f64 (pow.f64 (+.f64 x y) #s(literal 3 binary64)) (fma.f64 z (+.f64 (+.f64 x y) z) (pow.f64 (+.f64 x y) #s(literal 2 binary64)))) (/.f64 (pow.f64 z #s(literal 3 binary64)) (fma.f64 z (+.f64 (+.f64 x y) z) (pow.f64 (+.f64 x y) #s(literal 2 binary64)))))
(-.f64 (+.f64 x y) z)
(-.f64 y (-.f64 z x))
(+.f64 (/.f64 (pow.f64 (-.f64 y z) #s(literal 3 binary64)) (fma.f64 x (-.f64 x (-.f64 y z)) (pow.f64 (-.f64 y z) #s(literal 2 binary64)))) (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x (-.f64 x (-.f64 y z)) (pow.f64 (-.f64 y z) #s(literal 2 binary64)))))
(+.f64 x (-.f64 y z))
(+.f64 (-.f64 y z) x)
(+.f64 y (-.f64 x 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)
#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 #s(literal 1/2 binary64) z) (neg.f64 t))
(/.f64 (*.f64 z #s(literal 1/2 binary64)) (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 t))
(/.f64 #s(literal -1/2 binary64) (neg.f64 (neg.f64 t)))
(/.f64 #s(literal -1/2 binary64) 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 #s(literal 1/2 binary64) (/.f64 x t)))
(*.f64 #s(literal 1/2 binary64) (/.f64 x t))
(*.f64 (/.f64 x t) #s(literal 1/2 binary64))
(*.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 #s(literal 1/2 binary64) (/.f64 (+.f64 x y) t))
(*.f64 (+.f64 x y) (/.f64 #s(literal 1/2 binary64) 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 #s(literal 1/2 binary64) (+.f64 x y))) (neg.f64 t))
(/.f64 (*.f64 #s(literal 1/2 binary64) (+.f64 x y)) 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 #s(literal 1/2 binary64) (/.f64 x t)))
(fma.f64 #s(literal 1/2 binary64) (/.f64 y t) (*.f64 #s(literal 1/2 binary64) (/.f64 x t)))
(+.f64 (*.f64 (/.f64 y t) #s(literal 1/2 binary64)) (*.f64 #s(literal 1/2 binary64) (/.f64 x t)))
(+.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 y t)) (*.f64 #s(literal 1/2 binary64) (/.f64 x t)))
(/.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 x y)) (*.f64 (-.f64 x y) t))
(/.f64 (*.f64 (+.f64 x y) (-.f64 y x)) (*.f64 (-.f64 y x) 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 (+.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 (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 x y))) (neg.f64 (-.f64 x y)))
(/.f64 (neg.f64 (*.f64 (+.f64 x y) (-.f64 y x))) (neg.f64 (-.f64 y x)))
(/.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 (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 (*.f64 (+.f64 x y) (-.f64 x y)) (-.f64 x y))
(/.f64 (*.f64 (+.f64 x y) (-.f64 y 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 (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 (*.f64 x x) (-.f64 x y)) (/.f64 (*.f64 y y) (-.f64 x y)))
(-.f64 (/.f64 (*.f64 y y) (-.f64 y x)) (/.f64 (*.f64 x x) (-.f64 y x)))
(+.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 (/.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 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))

eval59.0ms (1.2%)

Memory
27.7MiB live, 67.1MiB allocated; 22ms collecting garbage
Compiler

Compiled 3 823 to 658 computations (82.8% saved)

prune46.0ms (0.9%)

Memory
-6.3MiB live, 36.1MiB allocated; 13ms collecting garbage
Pruning

11 alts after pruning (9 fresh and 2 done)

PrunedKeptTotal
New1856191
Fresh336
Picked325
Done000
Total19111202
Accuracy
100.0%
Counts
202 → 11
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(/.f64 (+.f64 (-.f64 y z) x) (+.f64 t t))
65.4%
(/.f64 #s(approx (- (+ x y) z) (-.f64 y z)) (+.f64 t t))
68.0%
(/.f64 #s(approx (- (+ x y) z) (-.f64 x z)) (*.f64 t #s(literal 2 binary64)))
56.4%
(/.f64 #s(approx (- (+ x y) z) #s(approx (- y z) (*.f64 (-.f64 (/.f64 y z) #s(literal 1 binary64)) z))) (*.f64 t #s(literal 2 binary64)))
33.5%
#s(approx (/ (- (+ x y) z) (* t 2)) (/.f64 (*.f64 #s(literal -1/2 binary64) z) t))
83.8%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 (fma.f64 (-.f64 x z) (/.f64 #s(literal 1/2 binary64) y) #s(literal 1/2 binary64)) t) y))
73.0%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 (+.f64 y x) t) #s(literal 1/2 binary64)))
39.4%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 x t) #s(literal 1/2 binary64)))
38.1%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 #s(literal 1/2 binary64) t) y))
71.8%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (+.f64 (/.f64 y t) (/.f64 x t)) #s(literal 1/2 binary64)))
38.2%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(approx (/ (+ y x) t) (/.f64 y t)) #s(literal 1/2 binary64)))
Compiler

Compiled 328 to 263 computations (19.8% saved)

simplify163.0ms (3.3%)

Memory
-12.3MiB live, 184.5MiB allocated; 68ms collecting garbage
Localize:

Found 19 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 (-.f64 (/.f64 y z) #s(literal 1 binary64)) z)
cost-diff0
#s(approx (- y z) (*.f64 (-.f64 (/.f64 y z) #s(literal 1 binary64)) z))
cost-diff0
#s(approx (- (+ x y) z) #s(approx (- y z) (*.f64 (-.f64 (/.f64 y z) #s(literal 1 binary64)) z)))
cost-diff0
(/.f64 #s(approx (- (+ x y) z) #s(approx (- y z) (*.f64 (-.f64 (/.f64 y z) #s(literal 1 binary64)) z))) (*.f64 t #s(literal 2 binary64)))
cost-diff0
(*.f64 t #s(literal 2 binary64))
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 #s(literal 2 binary64)))
cost-diff0
(*.f64 #s(literal -1/2 binary64) z)
cost-diff0
(/.f64 (*.f64 #s(literal -1/2 binary64) z) t)
cost-diff0
#s(approx (/ (- (+ x y) z) (* t 2)) (/.f64 (*.f64 #s(literal -1/2 binary64) z) t))
cost-diff0
(/.f64 y t)
cost-diff0
#s(approx (/ (+ y x) t) (/.f64 y t))
cost-diff0
(*.f64 #s(approx (/ (+ y x) t) (/.f64 y t)) #s(literal 1/2 binary64))
cost-diff0
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(approx (/ (+ y x) t) (/.f64 y t)) #s(literal 1/2 binary64)))
cost-diff0
(+.f64 t t)
cost-diff0
(-.f64 y z)
cost-diff0
(+.f64 (-.f64 y z) x)
cost-diff0
(/.f64 (+.f64 (-.f64 y z) x) (+.f64 t t))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
036201
051201
181201
2125201
3203201
4463201
52357201
08214201
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(/.f64 (+.f64 (-.f64 y z) x) (+.f64 t t))
(+.f64 (-.f64 y z) x)
(-.f64 y z)
y
z
x
(+.f64 t t)
t
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(approx (/ (+ y x) t) (/.f64 y t)) #s(literal 1/2 binary64)))
(*.f64 #s(approx (/ (+ y x) t) (/.f64 y t)) #s(literal 1/2 binary64))
#s(approx (/ (+ y x) t) (/.f64 y t))
(/.f64 y t)
y
t
#s(literal 1/2 binary64)
#s(approx (/ (- (+ x y) z) (* t 2)) (/.f64 (*.f64 #s(literal -1/2 binary64) z) t))
(/.f64 (*.f64 #s(literal -1/2 binary64) z) t)
(*.f64 #s(literal -1/2 binary64) z)
#s(literal -1/2 binary64)
z
t
(/.f64 #s(approx (- (+ x y) z) (-.f64 x z)) (*.f64 t #s(literal 2 binary64)))
#s(approx (- (+ x y) z) (-.f64 x z))
(-.f64 x z)
x
z
(*.f64 t #s(literal 2 binary64))
t
#s(literal 2 binary64)
(/.f64 #s(approx (- (+ x y) z) #s(approx (- y z) (*.f64 (-.f64 (/.f64 y z) #s(literal 1 binary64)) z))) (*.f64 t #s(literal 2 binary64)))
#s(approx (- (+ x y) z) #s(approx (- y z) (*.f64 (-.f64 (/.f64 y z) #s(literal 1 binary64)) z)))
#s(approx (- y z) (*.f64 (-.f64 (/.f64 y z) #s(literal 1 binary64)) z))
(*.f64 (-.f64 (/.f64 y z) #s(literal 1 binary64)) z)
(-.f64 (/.f64 y z) #s(literal 1 binary64))
(/.f64 y z)
y
z
#s(literal 1 binary64)
(*.f64 t #s(literal 2 binary64))
t
#s(literal 2 binary64)
Outputs
(/.f64 (+.f64 (-.f64 y z) x) (+.f64 t t))
(/.f64 (-.f64 (+.f64 x y) z) (*.f64 #s(literal 2 binary64) t))
(+.f64 (-.f64 y z) x)
(-.f64 (+.f64 x y) z)
(-.f64 y z)
y
z
x
(+.f64 t t)
(*.f64 #s(literal 2 binary64) t)
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 #s(literal 1/2 binary64) #s(approx (/ (+ y x) t) (/.f64 y t))))
(*.f64 #s(approx (/ (+ y x) t) (/.f64 y t)) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) #s(approx (/ (+ y x) t) (/.f64 y t)))
#s(approx (/ (+ y x) t) (/.f64 y t))
(/.f64 y t)
y
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) t) z))
(/.f64 (*.f64 #s(literal -1/2 binary64) z) t)
(*.f64 (/.f64 #s(literal -1/2 binary64) t) z)
(*.f64 #s(literal -1/2 binary64) z)
#s(literal -1/2 binary64)
z
t
(/.f64 #s(approx (- (+ x y) z) (-.f64 x z)) (*.f64 t #s(literal 2 binary64)))
(/.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 #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) t)
t
#s(literal 2 binary64)
(/.f64 #s(approx (- (+ x y) z) #s(approx (- y z) (*.f64 (-.f64 (/.f64 y z) #s(literal 1 binary64)) z))) (*.f64 t #s(literal 2 binary64)))
(/.f64 #s(approx (- (+ x y) z) #s(approx (- y z) (*.f64 (-.f64 (/.f64 y z) #s(literal 1 binary64)) z))) (*.f64 #s(literal 2 binary64) t))
#s(approx (- (+ x y) z) #s(approx (- y z) (*.f64 (-.f64 (/.f64 y z) #s(literal 1 binary64)) z)))
#s(approx (- y z) (*.f64 (-.f64 (/.f64 y z) #s(literal 1 binary64)) z))
(*.f64 (-.f64 (/.f64 y z) #s(literal 1 binary64)) z)
(-.f64 (/.f64 y z) #s(literal 1 binary64))
(/.f64 y z)
y
z
#s(literal 1 binary64)
(*.f64 t #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) t)
t
#s(literal 2 binary64)

localize78.0ms (1.6%)

Memory
44.0MiB live, 141.1MiB allocated; 16ms collecting garbage
Localize:

Found 19 expressions of interest:

NewMetricScoreProgram
accuracy0.0
#s(approx (- y z) (*.f64 (-.f64 (/.f64 y z) #s(literal 1 binary64)) z))
accuracy0.015625
(/.f64 #s(approx (- (+ x y) z) #s(approx (- y z) (*.f64 (-.f64 (/.f64 y z) #s(literal 1 binary64)) z))) (*.f64 t #s(literal 2 binary64)))
accuracy8.417697494603752
(*.f64 (-.f64 (/.f64 y z) #s(literal 1 binary64)) z)
accuracy22.92893774282917
#s(approx (- (+ x y) z) #s(approx (- y z) (*.f64 (-.f64 (/.f64 y z) #s(literal 1 binary64)) z)))
accuracy0.0
(-.f64 x z)
accuracy0.0
(*.f64 t #s(literal 2 binary64))
accuracy0.015625
(/.f64 #s(approx (- (+ x y) z) (-.f64 x z)) (*.f64 t #s(literal 2 binary64)))
accuracy21.508213687753557
#s(approx (- (+ x y) z) (-.f64 x z))
accuracy0.0
(/.f64 (*.f64 #s(literal -1/2 binary64) z) t)
accuracy0.0
(*.f64 #s(literal -1/2 binary64) z)
accuracy42.57666443475978
#s(approx (/ (- (+ x y) z) (* t 2)) (/.f64 (*.f64 #s(literal -1/2 binary64) z) t))
accuracy0.0
(/.f64 y t)
accuracy0.0
(*.f64 #s(approx (/ (+ y x) t) (/.f64 y t)) #s(literal 1/2 binary64))
accuracy17.26892192805452
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(approx (/ (+ y x) t) (/.f64 y t)) #s(literal 1/2 binary64)))
accuracy30.98174815630527
#s(approx (/ (+ y x) t) (/.f64 y t))
accuracy0.0
(-.f64 y z)
accuracy0.0
(+.f64 (-.f64 y z) x)
accuracy0.0
(+.f64 t t)
accuracy0.015625
(/.f64 (+.f64 (-.f64 y z) x) (+.f64 t t))
Samples
61.0ms256×0valid
Compiler

Compiled 137 to 28 computations (79.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 38.0ms
ival-div: 18.0ms (47.5% of total)
ival-sub: 8.0ms (21.1% of total)
ival-mult: 6.0ms (15.8% of total)
ival-add: 5.0ms (13.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)

series21.0ms (0.4%)

Memory
2.2MiB live, 48.0MiB allocated; 6ms collecting garbage
Counts
19 → 55
Calls
Call 1
Inputs
(/.f64 (+.f64 (-.f64 y z) x) (+.f64 t t))
(+.f64 (-.f64 y z) x)
(-.f64 y z)
(+.f64 t t)
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(approx (/ (+ y x) t) (/.f64 y t)) #s(literal 1/2 binary64)))
(*.f64 #s(approx (/ (+ y x) t) (/.f64 y t)) #s(literal 1/2 binary64))
#s(approx (/ (+ y x) t) (/.f64 y t))
(/.f64 y t)
#s(approx (/ (- (+ x y) z) (* t 2)) (/.f64 (*.f64 #s(literal -1/2 binary64) z) t))
(/.f64 (*.f64 #s(literal -1/2 binary64) z) t)
(*.f64 #s(literal -1/2 binary64) z)
(/.f64 #s(approx (- (+ x y) z) (-.f64 x z)) (*.f64 t #s(literal 2 binary64)))
#s(approx (- (+ x y) z) (-.f64 x z))
(-.f64 x z)
(*.f64 t #s(literal 2 binary64))
(/.f64 #s(approx (- (+ x y) z) #s(approx (- y z) (*.f64 (-.f64 (/.f64 y z) #s(literal 1 binary64)) z))) (*.f64 t #s(literal 2 binary64)))
#s(approx (- (+ x y) z) #s(approx (- y z) (*.f64 (-.f64 (/.f64 y z) #s(literal 1 binary64)) z)))
#s(approx (- y z) (*.f64 (-.f64 (/.f64 y z) #s(literal 1 binary64)) z))
(*.f64 (-.f64 (/.f64 y z) #s(literal 1 binary64)) z)
Outputs
(* 1/2 (/ (- y z) t))
(+ (* 1/2 (/ x t)) (* 1/2 (/ (- y z) t)))
(- y z)
(- (+ x y) z)
(* 1/2 (/ y t))
(+ (* 1/2 (/ x t)) (* 1/2 (/ y t)))
(/ y t)
(+ (/ x t) (/ y t))
(* -1 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/2 (/ y (* t x))) (* 1/2 (/ 1 t))))
(/ x t)
(* x (+ (/ 1 t) (/ y (* t x))))
(* x (+ 1 (* -1 (/ z x))))
(* -1 (* x (- (* -1/2 (/ (- (/ y t) (/ z t)) x)) (* 1/2 (/ 1 t)))))
(* -1 (* x (- (* -1 (/ (- y z) x)) 1)))
(* -1 (* x (- (* -1/2 (/ y (* t x))) (* 1/2 (/ 1 t)))))
(* -1 (* x (- (* -1 (/ y (* t x))) (/ 1 t))))
(* -1 (* x (- (/ z x) 1)))
(* 1/2 (/ (- x z) t))
(+ (* 1/2 (/ y t)) (* 1/2 (/ (- x z) t)))
(+ y (* -1 z))
(* 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/2 (/ x (* t y))) (* 1/2 (/ 1 t))))
(* y (+ (/ 1 t) (/ x (* t y))))
(* -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/2 (/ x (* t y))) (* 1/2 (/ 1 t)))))
(* -1 (* y (- (* -1 (/ x (* t y))) (/ 1 t))))
(* 1/2 (/ (+ x y) t))
(+ (* -1/2 (/ z t)) (* 1/2 (/ (+ x y) t)))
(+ x y)
(+ x (+ y (* -1 z)))
(* -1/2 (/ z t))
(* -1/2 z)
(+ x (* -1 z))
(* z (- (* 1/2 (/ (+ (/ x t) (/ y t)) z)) (* 1/2 (/ 1 t))))
(* z (- (+ (/ x z) (/ y z)) 1))
(* z (- (/ y z) 1))
(* z (- (/ x z) 1))
(* -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)))))
(* -1 (* z (+ 1 (* -1 (/ x z)))))
(* 1/2 (/ (- (+ x y) z) t))
(* 2 t)
(/ (+ x y) t)
Calls

12 calls:

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

simplify211.0ms (4.3%)

Memory
-11.5MiB live, 335.3MiB allocated; 97ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0150442
1472430
21556418
35838406
08398390
Stop Event
iter limit
node limit
Counts
55 → 53
Calls
Call 1
Inputs
(* 1/2 (/ (- y z) t))
(+ (* 1/2 (/ x t)) (* 1/2 (/ (- y z) t)))
(- y z)
(- (+ x y) z)
(* 1/2 (/ y t))
(+ (* 1/2 (/ x t)) (* 1/2 (/ y t)))
(/ y t)
(+ (/ x t) (/ y t))
(* -1 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/2 (/ y (* t x))) (* 1/2 (/ 1 t))))
(/ x t)
(* x (+ (/ 1 t) (/ y (* t x))))
(* x (+ 1 (* -1 (/ z x))))
(* -1 (* x (- (* -1/2 (/ (- (/ y t) (/ z t)) x)) (* 1/2 (/ 1 t)))))
(* -1 (* x (- (* -1 (/ (- y z) x)) 1)))
(* -1 (* x (- (* -1/2 (/ y (* t x))) (* 1/2 (/ 1 t)))))
(* -1 (* x (- (* -1 (/ y (* t x))) (/ 1 t))))
(* -1 (* x (- (/ z x) 1)))
(* 1/2 (/ (- x z) t))
(+ (* 1/2 (/ y t)) (* 1/2 (/ (- x z) t)))
(+ y (* -1 z))
(* 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/2 (/ x (* t y))) (* 1/2 (/ 1 t))))
(* y (+ (/ 1 t) (/ x (* t y))))
(* -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/2 (/ x (* t y))) (* 1/2 (/ 1 t)))))
(* -1 (* y (- (* -1 (/ x (* t y))) (/ 1 t))))
(* 1/2 (/ (+ x y) t))
(+ (* -1/2 (/ z t)) (* 1/2 (/ (+ x y) t)))
(+ x y)
(+ x (+ y (* -1 z)))
(* -1/2 (/ z t))
(* -1/2 z)
(+ x (* -1 z))
(* z (- (* 1/2 (/ (+ (/ x t) (/ y t)) z)) (* 1/2 (/ 1 t))))
(* z (- (+ (/ x z) (/ y z)) 1))
(* z (- (/ y z) 1))
(* z (- (/ x z) 1))
(* -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)))))
(* -1 (* z (+ 1 (* -1 (/ x z)))))
(* 1/2 (/ (- (+ x y) z) t))
(* 2 t)
(/ (+ x 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 x y) z) t) #s(literal 1/2 binary64))
(- y z)
(-.f64 y z)
(- (+ x y) z)
(-.f64 (+.f64 x y) z)
(* 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)
(* -1 z)
(neg.f64 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 (/.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/2 (/ y (* t x))) (* 1/2 (/ 1 t))))
(*.f64 (/.f64 (fma.f64 (/.f64 y x) x x) t) #s(literal 1/2 binary64))
(/ x t)
(/.f64 x t)
(* x (+ (/ 1 t) (/ y (* t x))))
(/.f64 (fma.f64 (/.f64 y x) x x) t)
(* x (+ 1 (* -1 (/ z x))))
(*.f64 (-.f64 #s(literal 1 binary64) (/.f64 z 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/2 (/ y (* t x))) (* 1/2 (/ 1 t)))))
(*.f64 (/.f64 (fma.f64 (/.f64 y x) x x) t) #s(literal 1/2 binary64))
(* -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 (- (/ z x) 1)))
(*.f64 (-.f64 #s(literal 1 binary64) (/.f64 z 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 x y) z) t) #s(literal 1/2 binary64))
(+ y (* -1 z))
(-.f64 y z)
(* 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
(* 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/2 (/ x (* t y))) (* 1/2 (/ 1 t))))
(*.f64 (/.f64 (fma.f64 (/.f64 x y) y y) t) #s(literal 1/2 binary64))
(* y (+ (/ 1 t) (/ x (* t y))))
(/.f64 (fma.f64 (/.f64 x y) y y) t)
(* -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 (- (/ z y) 1)))
(*.f64 (-.f64 #s(literal 1 binary64) (/.f64 z y)) y)
(* -1 (* y (- (* -1/2 (/ x (* t y))) (* 1/2 (/ 1 t)))))
(*.f64 (/.f64 (fma.f64 (/.f64 x y) y y) t) #s(literal 1/2 binary64))
(* -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/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))
(+ x y)
(+.f64 x y)
(+ x (+ y (* -1 z)))
(-.f64 (+.f64 x y) z)
(* -1/2 (/ z t))
(*.f64 #s(literal -1/2 binary64) (/.f64 z t))
(* -1/2 z)
(*.f64 #s(literal -1/2 binary64) z)
(+ x (* -1 z))
(-.f64 x z)
(* z (- (* 1/2 (/ (+ (/ x t) (/ y t)) z)) (* 1/2 (/ 1 t))))
(*.f64 (/.f64 (fma.f64 (+.f64 x y) (/.f64 #s(literal 1/2 binary64) z) #s(literal -1/2 binary64)) t) z)
(* 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)
(* z (- (/ x z) 1))
(*.f64 (-.f64 (/.f64 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 x y) (/.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 x y) 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 (* -1 (/ x z)))))
(*.f64 (-.f64 (/.f64 x z) #s(literal 1 binary64)) z)
(* 1/2 (/ (- (+ x y) z) t))
(*.f64 (/.f64 (-.f64 (+.f64 x y) z) t) #s(literal 1/2 binary64))
(* 2 t)
(*.f64 #s(literal 2 binary64) t)
(/ (+ x y) t)
(/.f64 (+.f64 x y) t)

rewrite25.0ms (0.5%)

Memory
-6.9MiB live, 40.0MiB allocated; 2ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
036171
051171
0182171
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
19 → 52
Calls
Call 1
Inputs
(/.f64 (+.f64 (-.f64 y z) x) (+.f64 t t))
(+.f64 (-.f64 y z) x)
(-.f64 y z)
(+.f64 t t)
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(approx (/ (+ y x) t) (/.f64 y t)) #s(literal 1/2 binary64)))
(*.f64 #s(approx (/ (+ y x) t) (/.f64 y t)) #s(literal 1/2 binary64))
#s(approx (/ (+ y x) t) (/.f64 y t))
(/.f64 y t)
#s(approx (/ (- (+ x y) z) (* t 2)) (/.f64 (*.f64 #s(literal -1/2 binary64) z) t))
(/.f64 (*.f64 #s(literal -1/2 binary64) z) t)
(*.f64 #s(literal -1/2 binary64) z)
(/.f64 #s(approx (- (+ x y) z) (-.f64 x z)) (*.f64 t #s(literal 2 binary64)))
#s(approx (- (+ x y) z) (-.f64 x z))
(-.f64 x z)
(*.f64 t #s(literal 2 binary64))
(/.f64 #s(approx (- (+ x y) z) #s(approx (- y z) (*.f64 (-.f64 (/.f64 y z) #s(literal 1 binary64)) z))) (*.f64 t #s(literal 2 binary64)))
#s(approx (- (+ x y) z) #s(approx (- y z) (*.f64 (-.f64 (/.f64 y z) #s(literal 1 binary64)) z)))
#s(approx (- y z) (*.f64 (-.f64 (/.f64 y z) #s(literal 1 binary64)) z))
(*.f64 (-.f64 (/.f64 y z) #s(literal 1 binary64)) z)
Outputs
(/.f64 (/.f64 (-.f64 (+.f64 x y) z) t) #s(literal 2 binary64))
(/.f64 (neg.f64 (-.f64 (+.f64 x y) z)) (neg.f64 (*.f64 #s(literal 2 binary64) t)))
(/.f64 (-.f64 (+.f64 x y) z) (*.f64 #s(literal 2 binary64) t))
(-.f64 (/.f64 (+.f64 x y) (*.f64 #s(literal 2 binary64) t)) (/.f64 z (*.f64 #s(literal 2 binary64) t)))
(+.f64 (/.f64 (-.f64 y z) (*.f64 #s(literal 2 binary64) t)) (/.f64 x (*.f64 #s(literal 2 binary64) t)))
(/.f64 (-.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (*.f64 z z)) (+.f64 (+.f64 x y) z))
(/.f64 (-.f64 (*.f64 (-.f64 y z) (-.f64 y z)) (*.f64 x x)) (-.f64 (-.f64 y z) x))
(/.f64 (-.f64 (pow.f64 (+.f64 x y) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64))) (fma.f64 (+.f64 x y) (+.f64 x y) (fma.f64 z z (*.f64 (+.f64 x y) z))))
(/.f64 (+.f64 (pow.f64 (-.f64 y z) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 (-.f64 y z) (-.f64 y z) (-.f64 (*.f64 x x) (*.f64 (-.f64 y z) x))))
(-.f64 (+.f64 x y) z)
(-.f64 y (-.f64 z x))
(+.f64 x (-.f64 y z))
(+.f64 (-.f64 y z) x)
(/.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)
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(literal 1/2 binary64) #s(approx (/ (+ y x) t) (/.f64 y t))))
(*.f64 #s(literal 1/2 binary64) #s(approx (/ (+ y x) t) (/.f64 y t)))
(*.f64 #s(approx (/ (+ y x) t) (/.f64 y t)) #s(literal 1/2 binary64))
#s(approx (/ (+ y x) t) (/.f64 y t))
(/.f64 (neg.f64 y) (neg.f64 t))
(/.f64 y t)
#s(approx (/ (- (+ x y) z) (* t 2)) (/.f64 (*.f64 #s(literal -1/2 binary64) z) t))
(*.f64 #s(literal -1/2 binary64) (/.f64 z 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) z)
(*.f64 z #s(literal -1/2 binary64))
(/.f64 (/.f64 #s(approx (- (+ x y) z) (-.f64 x z)) t) #s(literal 2 binary64))
(/.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)
(/.f64 (/.f64 #s(approx (- (+ x y) z) #s(approx (- y z) (*.f64 (-.f64 (/.f64 y z) #s(literal 1 binary64)) z))) t) #s(literal 2 binary64))
(/.f64 (neg.f64 #s(approx (- (+ x y) z) #s(approx (- y z) (*.f64 (-.f64 (/.f64 y z) #s(literal 1 binary64)) z)))) (neg.f64 (*.f64 #s(literal 2 binary64) t)))
(/.f64 #s(approx (- (+ x y) z) #s(approx (- y z) (*.f64 (-.f64 (/.f64 y z) #s(literal 1 binary64)) z))) (*.f64 #s(literal 2 binary64) t))
#s(approx (- (+ x y) z) #s(approx (- y z) (*.f64 (-.f64 (/.f64 y z) #s(literal 1 binary64)) z)))
#s(approx (- y z) (*.f64 (-.f64 (/.f64 y z) #s(literal 1 binary64)) z))
(*.f64 (-.f64 (/.f64 y z) #s(literal 1 binary64)) z)
(*.f64 z (-.f64 (/.f64 y z) #s(literal 1 binary64)))

eval11.0ms (0.2%)

Memory
-20.7MiB live, 24.6MiB allocated; 4ms collecting garbage
Compiler

Compiled 1 468 to 300 computations (79.6% saved)

prune6.0ms (0.1%)

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

11 alts after pruning (5 fresh and 6 done)

PrunedKeptTotal
New79180
Fresh044
Picked055
Done112
Total801191
Accuracy
100.0%
Counts
91 → 11
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(/.f64 (+.f64 (-.f64 y z) x) (+.f64 t t))
65.4%
(/.f64 #s(approx (- (+ x y) z) (-.f64 y z)) (+.f64 t t))
68.0%
(/.f64 #s(approx (- (+ x y) z) (-.f64 x z)) (*.f64 t #s(literal 2 binary64)))
56.4%
(/.f64 #s(approx (- (+ x y) z) #s(approx (- y z) (*.f64 (-.f64 (/.f64 y z) #s(literal 1 binary64)) z))) (*.f64 t #s(literal 2 binary64)))
73.0%
(/.f64 #s(approx (+ (- y z) x) (+.f64 x y)) (+.f64 t t))
33.5%
#s(approx (/ (- (+ x y) z) (* t 2)) (/.f64 (*.f64 #s(literal -1/2 binary64) z) t))
83.8%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 (fma.f64 (-.f64 x z) (/.f64 #s(literal 1/2 binary64) y) #s(literal 1/2 binary64)) t) y))
39.4%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 x t) #s(literal 1/2 binary64)))
38.1%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 #s(literal 1/2 binary64) t) y))
71.8%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (+.f64 (/.f64 y t) (/.f64 x t)) #s(literal 1/2 binary64)))
38.2%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(approx (/ (+ y x) t) (/.f64 y t)) #s(literal 1/2 binary64)))
Compiler

Compiled 258 to 205 computations (20.5% saved)

simplify124.0ms (2.5%)

Memory
27.3MiB live, 151.9MiB allocated; 45ms collecting garbage
Localize:

Found 19 expressions of interest:

NewMetricScoreProgram
cost-diff0
(/.f64 y t)
cost-diff0
(*.f64 (+.f64 (/.f64 y t) (/.f64 x t)) #s(literal 1/2 binary64))
cost-diff0
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (+.f64 (/.f64 y t) (/.f64 x t)) #s(literal 1/2 binary64)))
cost-diff2
(+.f64 (/.f64 y t) (/.f64 x 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 t t)
cost-diff0
(+.f64 x y)
cost-diff0
#s(approx (+ (- y z) x) (+.f64 x y))
cost-diff0
(/.f64 #s(approx (+ (- y z) x) (+.f64 x y)) (+.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
(fma.f64 (-.f64 x z) (/.f64 #s(literal 1/2 binary64) y) #s(literal 1/2 binary64))
cost-diff0
(/.f64 (fma.f64 (-.f64 x z) (/.f64 #s(literal 1/2 binary64) y) #s(literal 1/2 binary64)) t)
cost-diff0
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 (fma.f64 (-.f64 x z) (/.f64 #s(literal 1/2 binary64) y) #s(literal 1/2 binary64)) t) y))
cost-diff3
(*.f64 (/.f64 (fma.f64 (-.f64 x z) (/.f64 #s(literal 1/2 binary64) y) #s(literal 1/2 binary64)) t) y)
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
033196
050190
182190
2160190
3316190
4731188
52531184
08080184
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 (fma.f64 (-.f64 x z) (/.f64 #s(literal 1/2 binary64) y) #s(literal 1/2 binary64)) t) y))
(*.f64 (/.f64 (fma.f64 (-.f64 x z) (/.f64 #s(literal 1/2 binary64) y) #s(literal 1/2 binary64)) t) y)
(/.f64 (fma.f64 (-.f64 x z) (/.f64 #s(literal 1/2 binary64) y) #s(literal 1/2 binary64)) t)
(fma.f64 (-.f64 x z) (/.f64 #s(literal 1/2 binary64) y) #s(literal 1/2 binary64))
(-.f64 x z)
x
z
(/.f64 #s(literal 1/2 binary64) y)
#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) t) y)
(/.f64 #s(literal 1/2 binary64) t)
#s(literal 1/2 binary64)
t
y
(/.f64 #s(approx (+ (- y z) x) (+.f64 x y)) (+.f64 t t))
#s(approx (+ (- y z) x) (+.f64 x y))
(+.f64 x y)
x
y
(+.f64 t t)
t
(/.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 (/.f64 y t) (/.f64 x t)) #s(literal 1/2 binary64)))
(*.f64 (+.f64 (/.f64 y t) (/.f64 x t)) #s(literal 1/2 binary64))
(+.f64 (/.f64 y t) (/.f64 x t))
(/.f64 y t)
y
t
(/.f64 x t)
x
#s(literal 1/2 binary64)
Outputs
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 (fma.f64 (-.f64 x z) (/.f64 #s(literal 1/2 binary64) y) #s(literal 1/2 binary64)) t) y))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 #s(literal 1/2 binary64) t) (-.f64 (+.f64 y x) z)))
(*.f64 (/.f64 (fma.f64 (-.f64 x z) (/.f64 #s(literal 1/2 binary64) y) #s(literal 1/2 binary64)) t) y)
(*.f64 (/.f64 #s(literal 1/2 binary64) t) (-.f64 (+.f64 y x) z))
(/.f64 (fma.f64 (-.f64 x z) (/.f64 #s(literal 1/2 binary64) y) #s(literal 1/2 binary64)) t)
(/.f64 (fma.f64 (/.f64 (-.f64 x z) y) #s(literal 1/2 binary64) #s(literal 1/2 binary64)) t)
(fma.f64 (-.f64 x z) (/.f64 #s(literal 1/2 binary64) y) #s(literal 1/2 binary64))
(fma.f64 (/.f64 (-.f64 x z) y) #s(literal 1/2 binary64) #s(literal 1/2 binary64))
(-.f64 x z)
x
z
(/.f64 #s(literal 1/2 binary64) y)
#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) t) y)
(/.f64 #s(literal 1/2 binary64) t)
#s(literal 1/2 binary64)
t
y
(/.f64 #s(approx (+ (- y z) x) (+.f64 x y)) (+.f64 t t))
(/.f64 #s(approx (+ (- y z) x) (+.f64 y x)) (*.f64 #s(literal 2 binary64) t))
#s(approx (+ (- y z) x) (+.f64 x y))
#s(approx (+ (- y z) x) (+.f64 y x))
(+.f64 x y)
(+.f64 y x)
x
y
(+.f64 t t)
(*.f64 #s(literal 2 binary64) t)
t
(/.f64 #s(approx (- (+ x y) z) (-.f64 y z)) (+.f64 t t))
(/.f64 #s(approx (+ (- y z) x) (-.f64 y z)) (*.f64 #s(literal 2 binary64) t))
#s(approx (- (+ x y) z) (-.f64 y z))
#s(approx (+ (- y z) x) (-.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 (/.f64 y t) (/.f64 x t)) #s(literal 1/2 binary64)))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (+.f64 y x) (/.f64 #s(literal 1/2 binary64) t)))
(*.f64 (+.f64 (/.f64 y t) (/.f64 x t)) #s(literal 1/2 binary64))
(*.f64 (+.f64 y x) (/.f64 #s(literal 1/2 binary64) t))
(+.f64 (/.f64 y t) (/.f64 x t))
(/.f64 (+.f64 y x) t)
(/.f64 y t)
y
t
(/.f64 x t)
x
#s(literal 1/2 binary64)

localize122.0ms (2.5%)

Memory
-4.4MiB live, 141.1MiB allocated; 61ms collecting garbage
Localize:

Found 19 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(/.f64 x t)
accuracy0.0
(*.f64 (+.f64 (/.f64 y t) (/.f64 x t)) #s(literal 1/2 binary64))
accuracy0.6523416858302059
(+.f64 (/.f64 y t) (/.f64 x t))
accuracy17.26892192805452
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (+.f64 (/.f64 y t) (/.f64 x t)) #s(literal 1/2 binary64)))
accuracy0.0
(-.f64 y z)
accuracy0.0
(+.f64 t t)
accuracy0.015625
(/.f64 #s(approx (- (+ x y) z) (-.f64 y z)) (+.f64 t t))
accuracy22.92893774282917
#s(approx (- (+ x y) z) (-.f64 y z))
accuracy0.0
(+.f64 x y)
accuracy0.0
(+.f64 t t)
accuracy0.015625
(/.f64 #s(approx (+ (- y z) x) (+.f64 x y)) (+.f64 t t))
accuracy18.886081257692357
#s(approx (+ (- y z) x) (+.f64 x y))
accuracy0.0
(/.f64 #s(literal 1/2 binary64) t)
accuracy0.23046875
(*.f64 (/.f64 #s(literal 1/2 binary64) t) y)
accuracy39.56528548183775
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 #s(literal 1/2 binary64) t) y))
accuracy0.0
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 (fma.f64 (-.f64 x z) (/.f64 #s(literal 1/2 binary64) y) #s(literal 1/2 binary64)) t) y))
accuracy0.109375
(fma.f64 (-.f64 x z) (/.f64 #s(literal 1/2 binary64) y) #s(literal 1/2 binary64))
accuracy4.102811231334822
(/.f64 (fma.f64 (-.f64 x z) (/.f64 #s(literal 1/2 binary64) y) #s(literal 1/2 binary64)) t)
accuracy6.2045488380852385
(*.f64 (/.f64 (fma.f64 (-.f64 x z) (/.f64 #s(literal 1/2 binary64) y) #s(literal 1/2 binary64)) t) y)
Samples
104.0ms256×0valid
Compiler

Compiled 156 to 29 computations (81.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 72.0ms
ival-div: 45.0ms (62.8% of total)
ival-sub: 13.0ms (18.1% of total)
ival-mult: 7.0ms (9.8% of total)
ival-add: 6.0ms (8.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)

series46.0ms (0.9%)

Memory
-25.1MiB live, 66.2MiB allocated; 26ms collecting garbage
Counts
19 → 93
Calls
Call 1
Inputs
(*.f64 (/.f64 (fma.f64 (-.f64 x z) (/.f64 #s(literal 1/2 binary64) y) #s(literal 1/2 binary64)) t) y)
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 (fma.f64 (-.f64 x z) (/.f64 #s(literal 1/2 binary64) y) #s(literal 1/2 binary64)) t) y))
(/.f64 (fma.f64 (-.f64 x z) (/.f64 #s(literal 1/2 binary64) y) #s(literal 1/2 binary64)) t)
(fma.f64 (-.f64 x z) (/.f64 #s(literal 1/2 binary64) y) #s(literal 1/2 binary64))
#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)
(/.f64 #s(approx (+ (- y z) x) (+.f64 x y)) (+.f64 t t))
#s(approx (+ (- y z) x) (+.f64 x y))
(+.f64 x y)
(+.f64 t t)
(/.f64 #s(approx (- (+ x y) z) (-.f64 y z)) (+.f64 t t))
#s(approx (- (+ x y) z) (-.f64 y z))
(-.f64 y z)
(+.f64 (/.f64 y t) (/.f64 x t))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (+.f64 (/.f64 y t) (/.f64 x t)) #s(literal 1/2 binary64)))
(*.f64 (+.f64 (/.f64 y t) (/.f64 x t)) #s(literal 1/2 binary64))
(/.f64 y t)
(/.f64 x t)
Outputs
(/ (* y (+ 1/2 (* -1/2 (/ z y)))) t)
(+ (* 1/2 (/ x t)) (/ (* y (+ 1/2 (* -1/2 (/ z y)))) t))
(* 1/2 (/ (- y z) t))
(+ (* 1/2 (/ x t)) (* 1/2 (/ (- y z) t)))
(/ (+ 1/2 (* -1/2 (/ z y))) t)
(+ (* -1/2 (/ z (* t y))) (+ (* 1/2 (/ x (* t y))) (* 1/2 (/ 1 t))))
(+ 1/2 (* -1/2 (/ z y)))
(+ 1/2 (+ (* -1/2 (/ z y)) (* 1/2 (/ x y))))
(- y z)
(- (+ x y) z)
y
(+ x y)
(/ y t)
(+ (/ x t) (/ y t))
(* 1/2 (/ y t))
(+ (* 1/2 (/ x t)) (* 1/2 (/ y t)))
(/ x t)
(* 1/2 (/ x t))
(* x (+ (* 1/2 (/ 1 t)) (/ (* y (+ 1/2 (* -1/2 (/ z y)))) (* t x))))
(* x (+ (* 1/2 (/ (- (/ y t) (/ z t)) x)) (* 1/2 (/ 1 t))))
(* 1/2 (/ x (* t y)))
(* x (+ (* -1/2 (/ z (* t (* x y)))) (+ (/ 1/2 (* t x)) (* 1/2 (/ 1 (* t y))))))
(* 1/2 (/ x y))
(* x (+ (* -1/2 (/ z (* x y))) (+ (* 1/2 (/ 1 x)) (* 1/2 (/ 1 y)))))
x
(* x (- (+ 1 (/ y x)) (/ z x)))
(* x (+ 1 (/ y x)))
(* x (+ (/ 1 t) (/ y (* t x))))
(* x (+ (* 1/2 (/ y (* t x))) (* 1/2 (/ 1 t))))
(* -1 (* x (- (* -1 (/ (* y (+ 1/2 (* -1/2 (/ z y)))) (* t x))) (* 1/2 (/ 1 t)))))
(* -1 (* x (- (* -1/2 (/ (- (/ y t) (/ z t)) x)) (* 1/2 (/ 1 t)))))
(* -1 (* x (- (* -1 (/ (+ (* -1/2 (/ z (* t y))) (* 1/2 (/ 1 t))) x)) (* 1/2 (/ 1 (* t y))))))
(* -1 (* x (- (* -1 (/ (+ 1/2 (* -1/2 (/ z y))) x)) (* 1/2 (/ 1 y)))))
(* -1 (* x (- (* -1 (/ (- y z) x)) 1)))
(* -1 (* x (- (* -1 (/ y x)) 1)))
(* -1 (* x (- (* -1 (/ y (* t x))) (/ 1 t))))
(* -1 (* x (- (* -1/2 (/ y (* t x))) (* 1/2 (/ 1 t)))))
(* 1/2 (/ (- x z) t))
(+ (* 1/2 (/ y t)) (* 1/2 (/ (- x z) t)))
(* 1/2 (/ (- x z) (* t y)))
(/ (+ (* 1/2 (/ y t)) (* 1/2 (/ (- x z) t))) y)
(* 1/2 (/ (- x z) y))
(/ (+ (* 1/2 y) (* 1/2 (- x z))) y)
(- x z)
(* -1 z)
(* y (+ (* 1/2 (/ (- x z) (* t y))) (* 1/2 (/ 1 t))))
(* y (+ (* 1/2 (/ (- (/ x t) (/ z t)) y)) (* 1/2 (/ 1 t))))
(/ 1/2 t)
(+ (* 1/2 (/ (- x z) (* t y))) (* 1/2 (/ 1 t)))
1/2
(+ 1/2 (* 1/2 (/ (- x z) y)))
(* y (- (+ 1 (/ x y)) (/ z y)))
(* y (+ 1 (/ x y)))
(* y (+ 1 (* -1 (/ z y))))
(* y (+ (/ 1 t) (/ x (* t y))))
(* y (+ (* 1/2 (/ x (* t y))) (* 1/2 (/ 1 t))))
(* -1 (* y (- (* -1/2 (/ (- x z) (* t y))) (* 1/2 (/ 1 t)))))
(* -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 (* y (- (/ z y) 1)))
(* -1 (* y (- (* -1 (/ x (* t y))) (/ 1 t))))
(* -1 (* y (- (* -1/2 (/ x (* t y))) (* 1/2 (/ 1 t)))))
(/ (* y (+ 1/2 (* 1/2 (/ x y)))) t)
(+ (* -1/2 (/ z t)) (/ (* y (+ 1/2 (* 1/2 (/ x y)))) t))
(* 1/2 (/ (+ x y) t))
(+ (* -1/2 (/ z t)) (* 1/2 (/ (+ x y) t)))
(/ (+ 1/2 (* 1/2 (/ x y))) t)
(+ 1/2 (* 1/2 (/ x y)))
(+ x (+ y (* -1 z)))
(+ y (* -1 z))
(* -1/2 (/ z t))
(* z (- (/ (* y (+ 1/2 (* 1/2 (/ x y)))) (* t z)) (* 1/2 (/ 1 t))))
(* z (- (* 1/2 (/ (+ (/ x t) (/ y t)) z)) (* 1/2 (/ 1 t))))
(* -1/2 (/ z (* t y)))
(* z (- (+ (* 1/2 (/ x (* t (* y z)))) (/ 1/2 (* t z))) (* 1/2 (/ 1 (* t y)))))
(* -1/2 (/ z y))
(* z (- (+ (* 1/2 (/ x (* y z))) (* 1/2 (/ 1 z))) (* 1/2 (/ 1 y))))
(* z (- (+ (/ x z) (/ y z)) 1))
(* z (- (/ y z) 1))
(* -1 (* z (+ (* -1 (/ (* y (+ 1/2 (* 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/2 (/ x (* t y))) (* 1/2 (/ 1 t))) z)) (* 1/2 (/ 1 (* t y))))))
(* -1 (* z (+ (* -1 (/ (+ 1/2 (* 1/2 (/ x y))) z)) (* 1/2 (/ 1 y)))))
(* -1 (* z (+ 1 (* -1 (/ (+ x y) z)))))
(* -1 (* z (+ 1 (* -1 (/ y z)))))
(/ (* y (+ 1/2 (* 1/2 (/ (- x z) y)))) t)
(* 1/2 (/ (- (+ x y) z) t))
(/ (+ 1/2 (* 1/2 (/ (- x z) y))) t)
(* 2 t)
(/ (+ x y) t)
(* -1 (/ (+ (* -1 x) (* -1 y)) t))
(* -1/2 (/ (+ (* -1 x) (* -1 y)) t))
Calls

12 calls:

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

simplify181.0ms (3.7%)

Memory
36.4MiB live, 136.1MiB allocated; 58ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0258974
1846902
23063866
08300820
Stop Event
iter limit
node limit
Counts
93 → 91
Calls
Call 1
Inputs
(/ (* y (+ 1/2 (* -1/2 (/ z y)))) t)
(+ (* 1/2 (/ x t)) (/ (* y (+ 1/2 (* -1/2 (/ z y)))) t))
(* 1/2 (/ (- y z) t))
(+ (* 1/2 (/ x t)) (* 1/2 (/ (- y z) t)))
(/ (+ 1/2 (* -1/2 (/ z y))) t)
(+ (* -1/2 (/ z (* t y))) (+ (* 1/2 (/ x (* t y))) (* 1/2 (/ 1 t))))
(+ 1/2 (* -1/2 (/ z y)))
(+ 1/2 (+ (* -1/2 (/ z y)) (* 1/2 (/ x y))))
(- y z)
(- (+ x y) z)
y
(+ x y)
(/ y t)
(+ (/ x t) (/ y t))
(* 1/2 (/ y t))
(+ (* 1/2 (/ x t)) (* 1/2 (/ y t)))
(/ x t)
(* 1/2 (/ x t))
(* x (+ (* 1/2 (/ 1 t)) (/ (* y (+ 1/2 (* -1/2 (/ z y)))) (* t x))))
(* x (+ (* 1/2 (/ (- (/ y t) (/ z t)) x)) (* 1/2 (/ 1 t))))
(* 1/2 (/ x (* t y)))
(* x (+ (* -1/2 (/ z (* t (* x y)))) (+ (/ 1/2 (* t x)) (* 1/2 (/ 1 (* t y))))))
(* 1/2 (/ x y))
(* x (+ (* -1/2 (/ z (* x y))) (+ (* 1/2 (/ 1 x)) (* 1/2 (/ 1 y)))))
x
(* x (- (+ 1 (/ y x)) (/ z x)))
(* x (+ 1 (/ y x)))
(* x (+ (/ 1 t) (/ y (* t x))))
(* x (+ (* 1/2 (/ y (* t x))) (* 1/2 (/ 1 t))))
(* -1 (* x (- (* -1 (/ (* y (+ 1/2 (* -1/2 (/ z y)))) (* t x))) (* 1/2 (/ 1 t)))))
(* -1 (* x (- (* -1/2 (/ (- (/ y t) (/ z t)) x)) (* 1/2 (/ 1 t)))))
(* -1 (* x (- (* -1 (/ (+ (* -1/2 (/ z (* t y))) (* 1/2 (/ 1 t))) x)) (* 1/2 (/ 1 (* t y))))))
(* -1 (* x (- (* -1 (/ (+ 1/2 (* -1/2 (/ z y))) x)) (* 1/2 (/ 1 y)))))
(* -1 (* x (- (* -1 (/ (- y z) x)) 1)))
(* -1 (* x (- (* -1 (/ y x)) 1)))
(* -1 (* x (- (* -1 (/ y (* t x))) (/ 1 t))))
(* -1 (* x (- (* -1/2 (/ y (* t x))) (* 1/2 (/ 1 t)))))
(* 1/2 (/ (- x z) t))
(+ (* 1/2 (/ y t)) (* 1/2 (/ (- x z) t)))
(* 1/2 (/ (- x z) (* t y)))
(/ (+ (* 1/2 (/ y t)) (* 1/2 (/ (- x z) t))) y)
(* 1/2 (/ (- x z) y))
(/ (+ (* 1/2 y) (* 1/2 (- x z))) y)
(- x z)
(* -1 z)
(* y (+ (* 1/2 (/ (- x z) (* t y))) (* 1/2 (/ 1 t))))
(* y (+ (* 1/2 (/ (- (/ x t) (/ z t)) y)) (* 1/2 (/ 1 t))))
(/ 1/2 t)
(+ (* 1/2 (/ (- x z) (* t y))) (* 1/2 (/ 1 t)))
1/2
(+ 1/2 (* 1/2 (/ (- x z) y)))
(* y (- (+ 1 (/ x y)) (/ z y)))
(* y (+ 1 (/ x y)))
(* y (+ 1 (* -1 (/ z y))))
(* y (+ (/ 1 t) (/ x (* t y))))
(* y (+ (* 1/2 (/ x (* t y))) (* 1/2 (/ 1 t))))
(* -1 (* y (- (* -1/2 (/ (- x z) (* t y))) (* 1/2 (/ 1 t)))))
(* -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 (* y (- (/ z y) 1)))
(* -1 (* y (- (* -1 (/ x (* t y))) (/ 1 t))))
(* -1 (* y (- (* -1/2 (/ x (* t y))) (* 1/2 (/ 1 t)))))
(/ (* y (+ 1/2 (* 1/2 (/ x y)))) t)
(+ (* -1/2 (/ z t)) (/ (* y (+ 1/2 (* 1/2 (/ x y)))) t))
(* 1/2 (/ (+ x y) t))
(+ (* -1/2 (/ z t)) (* 1/2 (/ (+ x y) t)))
(/ (+ 1/2 (* 1/2 (/ x y))) t)
(+ 1/2 (* 1/2 (/ x y)))
(+ x (+ y (* -1 z)))
(+ y (* -1 z))
(* -1/2 (/ z t))
(* z (- (/ (* y (+ 1/2 (* 1/2 (/ x y)))) (* t z)) (* 1/2 (/ 1 t))))
(* z (- (* 1/2 (/ (+ (/ x t) (/ y t)) z)) (* 1/2 (/ 1 t))))
(* -1/2 (/ z (* t y)))
(* z (- (+ (* 1/2 (/ x (* t (* y z)))) (/ 1/2 (* t z))) (* 1/2 (/ 1 (* t y)))))
(* -1/2 (/ z y))
(* z (- (+ (* 1/2 (/ x (* y z))) (* 1/2 (/ 1 z))) (* 1/2 (/ 1 y))))
(* z (- (+ (/ x z) (/ y z)) 1))
(* z (- (/ y z) 1))
(* -1 (* z (+ (* -1 (/ (* y (+ 1/2 (* 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/2 (/ x (* t y))) (* 1/2 (/ 1 t))) z)) (* 1/2 (/ 1 (* t y))))))
(* -1 (* z (+ (* -1 (/ (+ 1/2 (* 1/2 (/ x y))) z)) (* 1/2 (/ 1 y)))))
(* -1 (* z (+ 1 (* -1 (/ (+ x y) z)))))
(* -1 (* z (+ 1 (* -1 (/ y z)))))
(/ (* y (+ 1/2 (* 1/2 (/ (- x z) y)))) t)
(* 1/2 (/ (- (+ x y) z) t))
(/ (+ 1/2 (* 1/2 (/ (- x z) y))) t)
(* 2 t)
(/ (+ x y) t)
(* -1 (/ (+ (* -1 x) (* -1 y)) t))
(* -1/2 (/ (+ (* -1 x) (* -1 y)) t))
Outputs
(/ (* y (+ 1/2 (* -1/2 (/ z y)))) t)
(/.f64 (*.f64 (fma.f64 (/.f64 z y) #s(literal -1/2 binary64) #s(literal 1/2 binary64)) y) t)
(+ (* 1/2 (/ x t)) (/ (* y (+ 1/2 (* -1/2 (/ z y)))) t))
(/.f64 (fma.f64 #s(literal 1/2 binary64) x (*.f64 (fma.f64 (/.f64 z y) #s(literal -1/2 binary64) #s(literal 1/2 binary64)) y)) 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 y x) z) t) #s(literal 1/2 binary64))
(/ (+ 1/2 (* -1/2 (/ z y))) t)
(/.f64 (fma.f64 (/.f64 z y) #s(literal -1/2 binary64) #s(literal 1/2 binary64)) t)
(+ (* -1/2 (/ z (* t y))) (+ (* 1/2 (/ x (* t y))) (* 1/2 (/ 1 t))))
(/.f64 (fma.f64 (/.f64 (-.f64 x z) y) #s(literal 1/2 binary64) #s(literal 1/2 binary64)) t)
(+ 1/2 (* -1/2 (/ z y)))
(fma.f64 (/.f64 z y) #s(literal -1/2 binary64) #s(literal 1/2 binary64))
(+ 1/2 (+ (* -1/2 (/ z y)) (* 1/2 (/ x y))))
(fma.f64 (/.f64 (-.f64 x z) y) #s(literal 1/2 binary64) #s(literal 1/2 binary64))
(- y z)
(-.f64 y z)
(- (+ x y) z)
(-.f64 (+.f64 y x) z)
y
(+ x y)
(+.f64 y x)
(/ y t)
(/.f64 y t)
(+ (/ x t) (/ y t))
(/.f64 (+.f64 y 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 y x) t) #s(literal 1/2 binary64))
(/ x t)
(/.f64 x t)
(* 1/2 (/ x t))
(*.f64 (/.f64 x t) #s(literal 1/2 binary64))
(* x (+ (* 1/2 (/ 1 t)) (/ (* y (+ 1/2 (* -1/2 (/ z y)))) (* t x))))
(*.f64 (/.f64 (fma.f64 y (/.f64 (fma.f64 (/.f64 z y) #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 y)))
(*.f64 (/.f64 (/.f64 x t) y) #s(literal 1/2 binary64))
(* x (+ (* -1/2 (/ z (* t (* x y)))) (+ (/ 1/2 (* t x)) (* 1/2 (/ 1 (* t y))))))
(*.f64 (/.f64 (-.f64 (/.f64 (fma.f64 (/.f64 z y) #s(literal -1/2 binary64) #s(literal 1/2 binary64)) x) (/.f64 #s(literal -1/2 binary64) y)) t) x)
(* 1/2 (/ x y))
(*.f64 (/.f64 x y) #s(literal 1/2 binary64))
(* x (+ (* -1/2 (/ z (* x y))) (+ (* 1/2 (/ 1 x)) (* 1/2 (/ 1 y)))))
(*.f64 (-.f64 (/.f64 (fma.f64 (/.f64 z y) #s(literal -1/2 binary64) #s(literal 1/2 binary64)) x) (/.f64 #s(literal -1/2 binary64) y)) x)
x
(* x (- (+ 1 (/ y x)) (/ z x)))
(fma.f64 x (/.f64 (-.f64 y z) x) x)
(* x (+ 1 (/ y x)))
(fma.f64 (/.f64 y x) x x)
(* x (+ (/ 1 t) (/ y (* t x))))
(*.f64 (/.f64 (-.f64 (/.f64 y x) #s(literal -1 binary64)) t) x)
(* x (+ (* 1/2 (/ y (* t x))) (* 1/2 (/ 1 t))))
(*.f64 #s(literal 1/2 binary64) (*.f64 (/.f64 (-.f64 (/.f64 y x) #s(literal -1 binary64)) t) x))
(* -1 (* x (- (* -1 (/ (* y (+ 1/2 (* -1/2 (/ z y)))) (* t x))) (* 1/2 (/ 1 t)))))
(*.f64 (/.f64 (fma.f64 y (/.f64 (fma.f64 (/.f64 z y) #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 (/ z (* t y))) (* 1/2 (/ 1 t))) x)) (* 1/2 (/ 1 (* t y))))))
(*.f64 (/.f64 (-.f64 (/.f64 (fma.f64 (/.f64 z y) #s(literal -1/2 binary64) #s(literal 1/2 binary64)) x) (/.f64 #s(literal -1/2 binary64) y)) t) x)
(* -1 (* x (- (* -1 (/ (+ 1/2 (* -1/2 (/ z y))) x)) (* 1/2 (/ 1 y)))))
(*.f64 (-.f64 (/.f64 (fma.f64 (/.f64 z y) #s(literal -1/2 binary64) #s(literal 1/2 binary64)) x) (/.f64 #s(literal -1/2 binary64) y)) 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 (- (* -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 (* 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/2 (/ y (* t x))) (* 1/2 (/ 1 t)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 (/.f64 (-.f64 (/.f64 y x) #s(literal -1 binary64)) t) 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))
(* 1/2 (/ (- x z) (* t y)))
(*.f64 (/.f64 (/.f64 (-.f64 x z) t) y) #s(literal 1/2 binary64))
(/ (+ (* 1/2 (/ y t)) (* 1/2 (/ (- x z) t))) y)
(/.f64 (*.f64 (/.f64 (-.f64 (+.f64 y x) z) t) #s(literal 1/2 binary64)) y)
(* 1/2 (/ (- x z) y))
(*.f64 (/.f64 (-.f64 x z) y) #s(literal 1/2 binary64))
(/ (+ (* 1/2 y) (* 1/2 (- x z))) y)
(*.f64 #s(literal 1/2 binary64) (/.f64 (-.f64 (+.f64 y x) z) y))
(- x z)
(-.f64 x z)
(* -1 z)
(neg.f64 z)
(* y (+ (* 1/2 (/ (- x z) (* t y))) (* 1/2 (/ 1 t))))
(/.f64 (*.f64 (fma.f64 (/.f64 (-.f64 x z) y) #s(literal 1/2 binary64) #s(literal 1/2 binary64)) y) t)
(* y (+ (* 1/2 (/ (- (/ x t) (/ z t)) y)) (* 1/2 (/ 1 t))))
(/.f64 (*.f64 (fma.f64 (/.f64 (-.f64 x z) y) #s(literal 1/2 binary64) #s(literal 1/2 binary64)) y) t)
(/ 1/2 t)
(/.f64 #s(literal 1/2 binary64) t)
(+ (* 1/2 (/ (- x z) (* t y))) (* 1/2 (/ 1 t)))
(/.f64 (fma.f64 (/.f64 (-.f64 x z) y) #s(literal 1/2 binary64) #s(literal 1/2 binary64)) t)
1/2
#s(literal 1/2 binary64)
(+ 1/2 (* 1/2 (/ (- x z) y)))
(fma.f64 (/.f64 (-.f64 x z) y) #s(literal 1/2 binary64) #s(literal 1/2 binary64))
(* y (- (+ 1 (/ x y)) (/ z y)))
(fma.f64 y (/.f64 (-.f64 x z) y) y)
(* y (+ 1 (/ x y)))
(fma.f64 (/.f64 x y) y y)
(* y (+ 1 (* -1 (/ z y))))
(fma.f64 (/.f64 (neg.f64 z) y) y y)
(* y (+ (/ 1 t) (/ x (* t y))))
(*.f64 (/.f64 (-.f64 (/.f64 x y) #s(literal -1 binary64)) 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)) y) t)
(* -1 (* y (- (* -1/2 (/ (- x z) (* t y))) (* 1/2 (/ 1 t)))))
(/.f64 (*.f64 (fma.f64 (/.f64 (-.f64 x z) y) #s(literal 1/2 binary64) #s(literal 1/2 binary64)) y) t)
(* -1 (* y (- (* -1/2 (/ (- (/ x t) (/ z t)) y)) (* 1/2 (/ 1 t)))))
(/.f64 (*.f64 (fma.f64 (/.f64 (-.f64 x z) y) #s(literal 1/2 binary64) #s(literal 1/2 binary64)) y) t)
(* -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 (- (* -1 (/ x y)) 1)))
(*.f64 (neg.f64 y) (fma.f64 #s(literal -1 binary64) (/.f64 x y) #s(literal -1 binary64)))
(* -1 (* y (- (/ z y) 1)))
(fma.f64 (/.f64 (neg.f64 z) y) 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/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)) y) t)
(/ (* y (+ 1/2 (* 1/2 (/ x y)))) t)
(/.f64 (*.f64 (fma.f64 (/.f64 x y) #s(literal 1/2 binary64) #s(literal 1/2 binary64)) y) t)
(+ (* -1/2 (/ z t)) (/ (* y (+ 1/2 (* 1/2 (/ x y)))) t))
(/.f64 (fma.f64 #s(literal -1/2 binary64) z (*.f64 (fma.f64 (/.f64 x y) #s(literal 1/2 binary64) #s(literal 1/2 binary64)) y)) t)
(* 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 (* 1/2 (/ x y))) t)
(/.f64 (fma.f64 (/.f64 x y) #s(literal 1/2 binary64) #s(literal 1/2 binary64)) t)
(+ 1/2 (* 1/2 (/ x y)))
(fma.f64 (/.f64 x y) #s(literal 1/2 binary64) #s(literal 1/2 binary64))
(+ x (+ y (* -1 z)))
(-.f64 (+.f64 y x) z)
(+ y (* -1 z))
(-.f64 y z)
(* -1/2 (/ z t))
(*.f64 (/.f64 z t) #s(literal -1/2 binary64))
(* z (- (/ (* y (+ 1/2 (* 1/2 (/ x y)))) (* t z)) (* 1/2 (/ 1 t))))
(*.f64 (/.f64 (fma.f64 y (/.f64 (fma.f64 (/.f64 x y) #s(literal 1/2 binary64) #s(literal 1/2 binary64)) z) #s(literal -1/2 binary64)) t) z)
(* z (- (* 1/2 (/ (+ (/ x t) (/ y t)) z)) (* 1/2 (/ 1 t))))
(*.f64 (fma.f64 (/.f64 (/.f64 (+.f64 y x) t) z) #s(literal 1/2 binary64) (/.f64 #s(literal -1/2 binary64) t)) z)
(* -1/2 (/ z (* t y)))
(*.f64 (/.f64 (/.f64 z y) t) #s(literal -1/2 binary64))
(* z (- (+ (* 1/2 (/ x (* t (* y z)))) (/ 1/2 (* t z))) (* 1/2 (/ 1 (* t y)))))
(*.f64 (fma.f64 #s(literal 1/2 binary64) (/.f64 (/.f64 (-.f64 (/.f64 x y) #s(literal -1 binary64)) t) z) (/.f64 (/.f64 #s(literal -1/2 binary64) t) y)) z)
(* -1/2 (/ z y))
(*.f64 (/.f64 z y) #s(literal -1/2 binary64))
(* z (- (+ (* 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)) z)
(* 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 (/ (* y (+ 1/2 (* 1/2 (/ x y)))) (* t z))) (* 1/2 (/ 1 t)))))
(*.f64 (/.f64 (fma.f64 y (/.f64 (fma.f64 (/.f64 x y) #s(literal 1/2 binary64) #s(literal 1/2 binary64)) z) #s(literal -1/2 binary64)) t) z)
(* -1 (* z (+ (* -1/2 (/ (+ (/ x t) (/ y t)) z)) (* 1/2 (/ 1 t)))))
(*.f64 (fma.f64 (/.f64 (/.f64 (+.f64 y x) t) z) #s(literal 1/2 binary64) (/.f64 #s(literal -1/2 binary64) t)) z)
(* -1 (* z (+ (* -1 (/ (+ (* 1/2 (/ x (* t y))) (* 1/2 (/ 1 t))) z)) (* 1/2 (/ 1 (* t y))))))
(*.f64 (fma.f64 #s(literal 1/2 binary64) (/.f64 (/.f64 (-.f64 (/.f64 x y) #s(literal -1 binary64)) t) z) (/.f64 (/.f64 #s(literal -1/2 binary64) t) y)) z)
(* -1 (* z (+ (* -1 (/ (+ 1/2 (* 1/2 (/ x y))) 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)) z)
(* -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)
(/ (* y (+ 1/2 (* 1/2 (/ (- x z) y)))) t)
(/.f64 (*.f64 (fma.f64 (/.f64 (-.f64 x z) y) #s(literal 1/2 binary64) #s(literal 1/2 binary64)) y) t)
(* 1/2 (/ (- (+ x y) z) t))
(*.f64 (/.f64 (-.f64 (+.f64 y x) z) t) #s(literal 1/2 binary64))
(/ (+ 1/2 (* 1/2 (/ (- x z) y))) t)
(/.f64 (fma.f64 (/.f64 (-.f64 x z) y) #s(literal 1/2 binary64) #s(literal 1/2 binary64)) t)
(* 2 t)
(*.f64 #s(literal 2 binary64) t)
(/ (+ x y) t)
(/.f64 (+.f64 y x) t)
(* -1 (/ (+ (* -1 x) (* -1 y)) t))
(/.f64 (+.f64 y x) t)
(* -1/2 (/ (+ (* -1 x) (* -1 y)) t))
(*.f64 (/.f64 (+.f64 y x) t) #s(literal 1/2 binary64))

rewrite43.0ms (0.9%)

Memory
-5.0MiB live, 42.2MiB allocated; 9ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
033169
050163
0191163
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
19 → 50
Calls
Call 1
Inputs
(*.f64 (/.f64 (fma.f64 (-.f64 x z) (/.f64 #s(literal 1/2 binary64) y) #s(literal 1/2 binary64)) t) y)
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 (fma.f64 (-.f64 x z) (/.f64 #s(literal 1/2 binary64) y) #s(literal 1/2 binary64)) t) y))
(/.f64 (fma.f64 (-.f64 x z) (/.f64 #s(literal 1/2 binary64) y) #s(literal 1/2 binary64)) t)
(fma.f64 (-.f64 x z) (/.f64 #s(literal 1/2 binary64) y) #s(literal 1/2 binary64))
#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)
(/.f64 #s(approx (+ (- y z) x) (+.f64 x y)) (+.f64 t t))
#s(approx (+ (- y z) x) (+.f64 x y))
(+.f64 x y)
(+.f64 t t)
(/.f64 #s(approx (- (+ x y) z) (-.f64 y z)) (+.f64 t t))
#s(approx (- (+ x y) z) (-.f64 y z))
(-.f64 y z)
(+.f64 (/.f64 y t) (/.f64 x t))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (+.f64 (/.f64 y t) (/.f64 x t)) #s(literal 1/2 binary64)))
(*.f64 (+.f64 (/.f64 y t) (/.f64 x t)) #s(literal 1/2 binary64))
(/.f64 y t)
(/.f64 x t)
Outputs
(*.f64 (/.f64 (fma.f64 (/.f64 #s(literal 1/2 binary64) y) (-.f64 x z) #s(literal 1/2 binary64)) t) y)
(*.f64 y (/.f64 (fma.f64 (/.f64 #s(literal 1/2 binary64) y) (-.f64 x z) #s(literal 1/2 binary64)) t))
(/.f64 (*.f64 (fma.f64 (/.f64 #s(literal 1/2 binary64) y) (-.f64 x z) #s(literal 1/2 binary64)) y) t)
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 (fma.f64 (/.f64 #s(literal 1/2 binary64) y) (-.f64 x z) #s(literal 1/2 binary64)) t) y))
(/.f64 (neg.f64 (fma.f64 (/.f64 #s(literal 1/2 binary64) y) (-.f64 x z) #s(literal 1/2 binary64))) (neg.f64 t))
(/.f64 (fma.f64 (/.f64 #s(literal 1/2 binary64) y) (-.f64 x z) #s(literal 1/2 binary64)) t)
(+.f64 (/.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) y) (-.f64 x z)) t) (/.f64 #s(literal 1/2 binary64) t))
(/.f64 (-.f64 (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) y) (-.f64 x z)) (*.f64 (/.f64 #s(literal 1/2 binary64) y) (-.f64 x z))) #s(literal 1/4 binary64)) (-.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) y) (-.f64 x z)) #s(literal 1/2 binary64)))
(/.f64 (+.f64 (pow.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) y) (-.f64 x z)) #s(literal 3 binary64)) #s(literal 1/8 binary64)) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) y) (-.f64 x z)) (*.f64 (/.f64 #s(literal 1/2 binary64) y) (-.f64 x z)) (-.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) y) (-.f64 x z)) #s(literal 1/2 binary64)))))
(fma.f64 (/.f64 #s(literal 1/2 binary64) y) (-.f64 x z) #s(literal 1/2 binary64))
(fma.f64 (-.f64 x z) (/.f64 #s(literal 1/2 binary64) y) #s(literal 1/2 binary64))
(+.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) y) (-.f64 x z)) #s(literal 1/2 binary64))
(+.f64 #s(literal 1/2 binary64) (*.f64 (/.f64 #s(literal 1/2 binary64) y) (-.f64 x z)))
#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 #s(literal -1/2 binary64) (neg.f64 t))
(/.f64 #s(literal 1/2 binary64) t)
(/.f64 (neg.f64 #s(approx (+ (- y z) x) (+.f64 y x))) (neg.f64 (*.f64 #s(literal 2 binary64) t)))
(/.f64 #s(approx (+ (- y z) x) (+.f64 y x)) (*.f64 #s(literal 2 binary64) t))
#s(approx (+ (- y z) x) (+.f64 y x))
(/.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)
(*.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 (neg.f64 #s(approx (+ (- y z) x) (-.f64 y z))) (neg.f64 (*.f64 #s(literal 2 binary64) t)))
(/.f64 #s(approx (+ (- y z) x) (-.f64 y z)) (*.f64 #s(literal 2 binary64) t))
#s(approx (+ (- y z) x) (-.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 (-.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 (fma.f64 y t (*.f64 t x)) (*.f64 t t))
(/.f64 (+.f64 y x) t)
(+.f64 (/.f64 x t) (/.f64 y t))
(+.f64 (/.f64 y t) (/.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 #s(literal 1/2 binary64) (/.f64 (+.f64 y x) t))
(/.f64 (neg.f64 y) (neg.f64 t))
(/.f64 y t)
(/.f64 (neg.f64 x) (neg.f64 t))
(/.f64 x t)

eval18.0ms (0.4%)

Memory
-6.7MiB live, 37.0MiB allocated; 7ms collecting garbage
Compiler

Compiled 2 897 to 481 computations (83.4% saved)

prune12.0ms (0.2%)

Memory
-11.1MiB live, 35.6MiB allocated; 3ms collecting garbage
Pruning

11 alts after pruning (3 fresh and 8 done)

PrunedKeptTotal
New1173120
Fresh000
Picked145
Done246
Total12011131
Accuracy
100.0%
Counts
131 → 11
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(/.f64 (+.f64 (-.f64 y z) x) (+.f64 t t))
65.4%
(/.f64 #s(approx (- (+ x y) z) (-.f64 y z)) (+.f64 t t))
68.0%
(/.f64 #s(approx (+ (- y z) x) (-.f64 x z)) (+.f64 t t))
73.0%
(/.f64 #s(approx (+ (- y z) x) (+.f64 x y)) (+.f64 t t))
33.5%
#s(approx (/ (- (+ x y) z) (* t 2)) (/.f64 (*.f64 #s(literal -1/2 binary64) z) t))
39.4%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 x t) #s(literal 1/2 binary64)))
38.1%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 #s(literal 1/2 binary64) t) y))
71.8%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (+.f64 (/.f64 y t) (/.f64 x t)) #s(literal 1/2 binary64)))
38.2%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(approx (/ (+ y x) t) (/.f64 y t)) #s(literal 1/2 binary64)))
60.6%
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(approx (+ (/ y t) (/ x t)) (*.f64 (/.f64 (-.f64 (/.f64 y x) #s(literal -1 binary64)) t) x)) #s(literal 1/2 binary64)))
59.7%
#s(approx (/ (- (+ x y) z) (* t 2)) #s(approx (* (/ (+ (* (- x z) (/ 1/2 y)) 1/2) t) y) (/.f64 (*.f64 (fma.f64 (/.f64 z y) #s(literal -1/2 binary64) #s(literal 1/2 binary64)) y) t)))
Compiler

Compiled 551 to 256 computations (53.5% saved)

regimes69.0ms (1.4%)

Memory
-18.6MiB live, 128.5MiB allocated; 13ms collecting garbage
Counts
22 → 1
Calls
Call 1
Inputs
#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))
(/.f64 #s(approx (+ (- y z) x) (+.f64 x y)) (+.f64 t t))
(/.f64 #s(approx (+ (- y z) x) (-.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 y z) x) (+.f64 t t))
(/.f64 (-.f64 (+.f64 x y) z) (+.f64 t t))
(/.f64 (+.f64 (-.f64 y z) x) (*.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 (/.f64 y t) (/.f64 x t)) #s(literal 1/2 binary64)))
#s(approx (/ (- (+ x y) z) (* t 2)) #s(approx (* (/ (+ (* (- x z) (/ 1/2 y)) 1/2) t) y) (/.f64 (*.f64 (fma.f64 (/.f64 z y) #s(literal -1/2 binary64) #s(literal 1/2 binary64)) y) t)))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(approx (+ (/ y t) (/ x t)) (*.f64 (/.f64 (-.f64 (/.f64 y x) #s(literal -1 binary64)) t) x)) #s(literal 1/2 binary64)))
(/.f64 #s(approx (- (+ x y) z) #s(approx (- y z) (*.f64 (-.f64 (/.f64 y z) #s(literal 1 binary64)) z))) (*.f64 t #s(literal 2 binary64)))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 (fma.f64 (-.f64 x z) (/.f64 #s(literal 1/2 binary64) y) #s(literal 1/2 binary64)) t) y))
(/.f64 #s(approx (- (+ x y) z) (*.f64 (-.f64 (/.f64 (+.f64 y x) z) #s(literal 1 binary64)) z)) (*.f64 t #s(literal 2 binary64)))
Outputs
(/.f64 (+.f64 (-.f64 y z) x) (+.f64 t t))
Calls

8 calls:

23.0ms
z
7.0ms
(-.f64 (+.f64 x y) z)
6.0ms
x
6.0ms
(*.f64 t #s(literal 2 binary64))
6.0ms
y
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)

regimes60.0ms (1.2%)

Memory
29.3MiB live, 124.1MiB allocated; 13ms collecting garbage
Counts
12 → 2
Calls
Call 1
Inputs
#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))
(/.f64 #s(approx (+ (- y z) x) (+.f64 x y)) (+.f64 t t))
(/.f64 #s(approx (+ (- y z) x) (-.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 (+ (- y z) x) (-.f64 x z)) (+.f64 t t))
(/.f64 #s(approx (- (+ x y) z) (-.f64 y z)) (+.f64 t t))
Calls

8 calls:

29.0ms
(-.f64 (+.f64 x y) z)
6.0ms
y
4.0ms
z
4.0ms
t
4.0ms
(*.f64 t #s(literal 2 binary64))
Results
AccuracySegmentsBranch
76.6%3(*.f64 t #s(literal 2 binary64))
99.4%2(+.f64 x y)
98.8%2(-.f64 (+.f64 x y) z)
98.8%2(/.f64 (-.f64 (+.f64 x y) z) (*.f64 t #s(literal 2 binary64)))
94.3%3x
92.8%2y
90.5%3z
76.6%3t
Compiler

Compiled 24 to 42 computations (-75% saved)

regimes18.0ms (0.4%)

Memory
-25.1MiB live, 21.6MiB allocated; 3ms collecting garbage
Counts
7 → 2
Calls
Call 1
Inputs
#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))
(/.f64 #s(approx (+ (- y z) x) (+.f64 x y)) (+.f64 t t))
(/.f64 #s(approx (+ (- y z) x) (-.f64 x z)) (+.f64 t t))
Outputs
(/.f64 #s(approx (+ (- y z) x) (-.f64 x z)) (+.f64 t t))
(/.f64 #s(approx (+ (- y z) x) (+.f64 x y)) (+.f64 t t))
Calls

3 calls:

12.0ms
(-.f64 (+.f64 x y) z)
3.0ms
(+.f64 x y)
2.0ms
(/.f64 (-.f64 (+.f64 x y) z) (*.f64 t #s(literal 2 binary64)))
Results
AccuracySegmentsBranch
86.8%2(-.f64 (+.f64 x y) z)
86.0%2(/.f64 (-.f64 (+.f64 x y) z) (*.f64 t #s(literal 2 binary64)))
94.3%2(+.f64 x y)
Compiler

Compiled 17 to 20 computations (-17.6% saved)

regimes15.0ms (0.3%)

Memory
42.1MiB live, 42.1MiB allocated; 0ms collecting garbage
Counts
6 → 3
Calls
Call 1
Inputs
#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))
(/.f64 #s(approx (+ (- y z) x) (+.f64 x y)) (+.f64 t t))
Outputs
(/.f64 #s(approx (+ (- y z) x) (+.f64 x y)) (+.f64 t t))
#s(approx (/ (- (+ x y) z) (* t 2)) (/.f64 (*.f64 #s(literal -1/2 binary64) z) t))
(/.f64 #s(approx (+ (- y z) x) (+.f64 x y)) (+.f64 t t))
Calls

6 calls:

2.0ms
x
2.0ms
(+.f64 x y)
2.0ms
(-.f64 (+.f64 x y) z)
2.0ms
z
2.0ms
y
Results
AccuracySegmentsBranch
73.0%1(/.f64 (-.f64 (+.f64 x y) z) (*.f64 t #s(literal 2 binary64)))
73.0%1(-.f64 (+.f64 x y) z)
84.1%3z
76.8%3x
78.2%3y
84.5%3(+.f64 x y)
Compiler

Compiled 20 to 32 computations (-60% saved)

regimes8.0ms (0.2%)

Memory
-31.0MiB live, 14.0MiB allocated; 6ms collecting garbage
Counts
5 → 3
Calls
Call 1
Inputs
#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))
Outputs
#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 #s(approx (/ (+ y x) t) (/.f64 y t)) #s(literal 1/2 binary64)))
Calls

2 calls:

5.0ms
(+.f64 x y)
2.0ms
z
Results
AccuracySegmentsBranch
58.1%3z
84.0%3(+.f64 x y)
Compiler

Compiled 4 to 9 computations (-125% saved)

regimes2.0ms (0%)

Memory
5.9MiB live, 5.9MiB allocated; 0ms collecting garbage
Counts
4 → 3
Calls
Call 1
Inputs
#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 (/.f64 x 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 #s(approx (/ (+ y x) t) (/.f64 y t)) #s(literal 1/2 binary64)))
Calls

1 calls:

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

Compiled 3 to 5 computations (-66.7% saved)

regimes15.0ms (0.3%)

Memory
-7.2MiB live, 38.2MiB allocated; 5ms collecting garbage
Counts
3 → 2
Calls
Call 1
Inputs
#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))
Outputs
#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

7 calls:

5.0ms
(/.f64 (-.f64 (+.f64 x y) z) (*.f64 t #s(literal 2 binary64)))
2.0ms
y
2.0ms
(*.f64 t #s(literal 2 binary64))
2.0ms
t
2.0ms
(+.f64 x y)
Results
AccuracySegmentsBranch
52.0%2(/.f64 (-.f64 (+.f64 x y) z) (*.f64 t #s(literal 2 binary64)))
52.8%2(-.f64 (+.f64 x y) z)
38.2%1(*.f64 t #s(literal 2 binary64))
38.2%1t
45.5%2x
58.3%2y
59.8%2(+.f64 x y)
Compiler

Compiled 23 to 38 computations (-65.2% 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 #s(approx (/ (+ y x) t) (/.f64 y t)) #s(literal 1/2 binary64)))
Outputs
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(approx (/ (+ y x) t) (/.f64 y t)) #s(literal 1/2 binary64)))
Calls

8 calls:

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

Compiled 24 to 42 computations (-75% saved)

bsearch0.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-1.64804234959119e-178
-1.951347260513008e-181
Compiler

Compiled 12 to 16 computations (-33.3% saved)

bsearch0.0ms (0%)

Memory
0.6MiB live, 0.6MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.432185983848639e-19
2.1233460321976e-16
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
1.432185983848639e-19
2.1233460321976e-16
0.0ms
-4.1973258069920945e-67
-7.245775195890936e-68
Compiler

Compiled 12 to 16 computations (-33.3% saved)

bsearch0.0ms (0%)

Memory
1.1MiB live, 1.0MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.432185983848639e-19
2.1233460321976e-16
0.0ms
-4.1973258069920945e-67
-7.245775195890936e-68
Compiler

Compiled 12 to 16 computations (-33.3% saved)

bsearch0.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.432185983848639e-19
2.1233460321976e-16
0.0ms
-4.1973258069920945e-67
-7.245775195890936e-68
Compiler

Compiled 12 to 16 computations (-33.3% saved)

bsearch0.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.432185983848639e-19
2.1233460321976e-16
Compiler

Compiled 12 to 16 computations (-33.3% saved)

simplify63.0ms (1.3%)

Memory
-19.4MiB live, 80.4MiB allocated; 14ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
054303
177303
2116303
3179303
4324303
51234303
67092303
Stop Event
node limit
Calls
Call 1
Inputs
(/.f64 (+.f64 (-.f64 y z) x) (+.f64 t t))
(if (<=.f64 (+.f64 x y) #s(literal -912488123524439/9124881235244390437282343211400582649786457014497119861158385035798550334417354773011825622634742799557284619147188814621377409442750875996505322639444428376503989348720529900165748384493207552 binary64)) (/.f64 #s(approx (+ (- y z) x) (-.f64 x z)) (+.f64 t t)) (/.f64 #s(approx (- (+ x y) z) (-.f64 y z)) (+.f64 t t)))
(if (<=.f64 (+.f64 x y) #s(literal 2076918743413931/10384593717069655257060992658440192 binary64)) (/.f64 #s(approx (+ (- y z) x) (-.f64 x z)) (+.f64 t t)) (/.f64 #s(approx (+ (- y z) x) (+.f64 x y)) (+.f64 t t)))
(if (<=.f64 (+.f64 x y) #s(literal -6070840288205403/15177100720513508366558296147058741458143803430094840009779784451085189728165691392 binary64)) (/.f64 #s(approx (+ (- y z) x) (+.f64 x y)) (+.f64 t t)) (if (<=.f64 (+.f64 x y) #s(literal 2076918743413931/10384593717069655257060992658440192 binary64)) #s(approx (/ (- (+ x y) z) (* t 2)) (/.f64 (*.f64 #s(literal -1/2 binary64) z) t)) (/.f64 #s(approx (+ (- y z) x) (+.f64 x y)) (+.f64 t t))))
(if (<=.f64 (+.f64 x y) #s(literal -6070840288205403/15177100720513508366558296147058741458143803430094840009779784451085189728165691392 binary64)) #s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 x t) #s(literal 1/2 binary64))) (if (<=.f64 (+.f64 x y) #s(literal 2076918743413931/10384593717069655257060992658440192 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 -6070840288205403/15177100720513508366558296147058741458143803430094840009779784451085189728165691392 binary64)) #s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 x t) #s(literal 1/2 binary64))) (if (<=.f64 (+.f64 x y) #s(literal 2076918743413931/10384593717069655257060992658440192 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 x y) #s(literal 2076918743413931/10384593717069655257060992658440192 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))))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(approx (/ (+ y x) t) (/.f64 y t)) #s(literal 1/2 binary64)))
Outputs
(/.f64 (+.f64 (-.f64 y z) x) (+.f64 t t))
(if (<=.f64 (+.f64 x y) #s(literal -912488123524439/9124881235244390437282343211400582649786457014497119861158385035798550334417354773011825622634742799557284619147188814621377409442750875996505322639444428376503989348720529900165748384493207552 binary64)) (/.f64 #s(approx (+ (- y z) x) (-.f64 x z)) (+.f64 t t)) (/.f64 #s(approx (- (+ x y) z) (-.f64 y z)) (+.f64 t t)))
(if (<=.f64 (+.f64 x y) #s(literal -912488123524439/9124881235244390437282343211400582649786457014497119861158385035798550334417354773011825622634742799557284619147188814621377409442750875996505322639444428376503989348720529900165748384493207552 binary64)) (/.f64 #s(approx (+ (- y z) x) (-.f64 x z)) (+.f64 t t)) (/.f64 #s(approx (+ (- y z) x) (-.f64 y z)) (+.f64 t t)))
(if (<=.f64 (+.f64 x y) #s(literal 2076918743413931/10384593717069655257060992658440192 binary64)) (/.f64 #s(approx (+ (- y z) x) (-.f64 x z)) (+.f64 t t)) (/.f64 #s(approx (+ (- y z) x) (+.f64 x y)) (+.f64 t t)))
(if (<=.f64 (+.f64 x y) #s(literal -6070840288205403/15177100720513508366558296147058741458143803430094840009779784451085189728165691392 binary64)) (/.f64 #s(approx (+ (- y z) x) (+.f64 x y)) (+.f64 t t)) (if (<=.f64 (+.f64 x y) #s(literal 2076918743413931/10384593717069655257060992658440192 binary64)) #s(approx (/ (- (+ x y) z) (* t 2)) (/.f64 (*.f64 #s(literal -1/2 binary64) z) t)) (/.f64 #s(approx (+ (- y z) x) (+.f64 x y)) (+.f64 t t))))
(if (or (<=.f64 (+.f64 x y) #s(literal -6070840288205403/15177100720513508366558296147058741458143803430094840009779784451085189728165691392 binary64)) (not (<=.f64 (+.f64 x y) #s(literal 2076918743413931/10384593717069655257060992658440192 binary64)))) (/.f64 #s(approx (+ (- y z) x) (+.f64 x y)) (+.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 -6070840288205403/15177100720513508366558296147058741458143803430094840009779784451085189728165691392 binary64)) #s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 x t) #s(literal 1/2 binary64))) (if (<=.f64 (+.f64 x y) #s(literal 2076918743413931/10384593717069655257060992658440192 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 -6070840288205403/15177100720513508366558296147058741458143803430094840009779784451085189728165691392 binary64)) #s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 (/.f64 x t) #s(literal 1/2 binary64))) (if (<=.f64 (+.f64 x y) #s(literal 2076918743413931/10384593717069655257060992658440192 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 x y) #s(literal 2076918743413931/10384593717069655257060992658440192 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))))
#s(approx (/ (- (+ x y) z) (* t 2)) (*.f64 #s(approx (/ (+ y x) t) (/.f64 y t)) #s(literal 1/2 binary64)))

derivations304.0ms (6.1%)

Memory
-18.3MiB live, 174.4MiB allocated; 48ms collecting garbage
Stop Event
fuel
Compiler

Compiled 303 to 55 computations (81.8% saved)

preprocess110.0ms (2.2%)

Memory
7.0MiB live, 96.8MiB allocated; 16ms collecting garbage
Remove

(negabs t)

Compiler

Compiled 678 to 176 computations (74% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...