Data.Colour.RGBSpace.HSL:hsl from colour-2.3.3, D

Time bar (total: 1.7s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze0.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
100%99.9%0%0.1%0%0%0%1
Compiler

Compiled 15 to 14 computations (6.7% saved)

sample882.0ms (53%)

Memory
1.5MiB live, 1 398.4MiB allocated
Samples
513.0ms7 691×0valid
56.0ms424×1valid
27.0ms141×2valid
Precisions
Click to see histograms. Total time spent on operations: 392.0ms
ival-mult: 128.0ms (32.6% of total)
ival-sub: 99.0ms (25.3% of total)
ival-div: 84.0ms (21.4% of total)
ival-add: 44.0ms (11.2% of total)
adjust: 16.0ms (4.1% of total)
exact: 11.0ms (2.8% of total)
ival-true: 6.0ms (1.5% of total)
ival-assert: 3.0ms (0.8% of total)
Bogosity

explain140.0ms (8.4%)

Memory
14.4MiB live, 257.9MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-(-.f64 y x)
00-0-(*.f64 (-.f64 y x) #s(literal 6 binary64))
00-0-#s(literal 3 binary64)
00-0-z
00-0-(+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
00-0-(-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)
00-0-#s(literal 6 binary64)
00-0-#s(literal 2 binary64)
00-0-y
00-0-(*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))
00-0-(/.f64 #s(literal 2 binary64) #s(literal 3 binary64))
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
35.0ms410×0valid
8.0ms16×3valid
8.0ms54×1valid
7.0ms32×2valid
Compiler

Compiled 155 to 52 computations (66.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 33.0ms
ival-mult: 12.0ms (35.9% of total)
ival-div: 7.0ms (21% of total)
ival-sub: 6.0ms (18% of total)
adjust: 4.0ms (12% of total)
ival-add: 3.0ms (9% of total)
exact: 1.0ms (3% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

preprocess7.0ms (0.4%)

Memory
-30.4MiB live, 7.8MiB allocated
Algorithm
egg-herbie
Calls
Call 1
Inputs
(+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
Outputs
(+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
Compiler

Compiled 13 to 12 computations (7.7% saved)

eval0.0ms (0%)

Memory
0.2MiB live, 0.2MiB allocated
Compiler

Compiled 0 to 3 computations (-∞% saved)

prune0.0ms (0%)

Memory
1.2MiB live, 1.2MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.6%
(+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
Compiler

Compiled 13 to 12 computations (7.7% saved)

simplify0.0ms (0%)

Memory
1.3MiB live, 1.3MiB allocated
Algorithm
egg-herbie
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(-.f64 y x)
cost-diff0
(*.f64 (-.f64 y x) #s(literal 6 binary64))
cost-diff0
(*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))
cost-diff0
(+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
Calls
Call 1
Inputs
(+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
x
(*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))
(*.f64 (-.f64 y x) #s(literal 6 binary64))
(-.f64 y x)
y
#s(literal 6 binary64)
(-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)
(/.f64 #s(literal 2 binary64) #s(literal 3 binary64))
#s(literal 2 binary64)
#s(literal 3 binary64)
z
Outputs
(+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
x
(*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))
(*.f64 (-.f64 y x) #s(literal 6 binary64))
(-.f64 y x)
y
#s(literal 6 binary64)
(-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)
(/.f64 #s(literal 2 binary64) #s(literal 3 binary64))
#s(literal 2 binary64)
#s(literal 3 binary64)
z

localize35.0ms (2.1%)

Memory
23.8MiB live, 68.8MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.0078125
(-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)
accuracy0.06640625
(+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
accuracy0.1953125
(*.f64 (-.f64 y x) #s(literal 6 binary64))
accuracy0.22265625
(*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))
Samples
18.0ms205×0valid
4.0ms27×1valid
3.0ms16×2valid
2.0ms3valid
Compiler

Compiled 94 to 26 computations (72.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 17.0ms
ival-mult: 7.0ms (41.9% of total)
ival-sub: 3.0ms (17.9% of total)
ival-div: 2.0ms (12% of total)
adjust: 2.0ms (12% of total)
ival-add: 2.0ms (12% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series11.0ms (0.6%)

Memory
-23.0MiB live, 15.6MiB allocated
Counts
5 → 45
Calls
Call 1
Inputs
(+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
(*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))
(*.f64 (-.f64 y x) #s(literal 6 binary64))
(-.f64 y x)
(-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)
Outputs
(* 6 (* y (- 2/3 z)))
(+ (* 6 (* y (- 2/3 z))) (* x (+ 1 (* -6 (- 2/3 z)))))
(+ (* -6 (* x (- 2/3 z))) (* 6 (* y (- 2/3 z))))
(* 6 y)
(+ (* -6 x) (* 6 y))
y
(+ y (* -1 x))
(* x (+ 1 (* -6 (- 2/3 z))))
(* x (+ 1 (+ (* -6 (- 2/3 z)) (* 6 (/ (* y (- 2/3 z)) x)))))
(* -6 (* x (- 2/3 z)))
(* x (+ (* -6 (- 2/3 z)) (* 6 (/ (* y (- 2/3 z)) x))))
(* -6 x)
(* x (- (* 6 (/ y x)) 6))
(* -1 x)
(* x (- (/ y x) 1))
(* -1 (* x (- (* 6 (- 2/3 z)) 1)))
(* -1 (* x (- (+ (* -6 (/ (* y (- 2/3 z)) x)) (* 6 (- 2/3 z))) 1)))
(* -1 (* x (+ (* -6 (/ (* y (- 2/3 z)) x)) (* 6 (- 2/3 z)))))
(* -1 (* x (+ 6 (* -6 (/ y x)))))
(* -1 (* x (+ 1 (* -1 (/ y x)))))
(+ x (* -6 (* x (- 2/3 z))))
(+ x (+ (* -6 (* x (- 2/3 z))) (* 6 (* y (- 2/3 z)))))
(- y x)
(* y (+ (* -6 (/ (* x (- 2/3 z)) y)) (+ (* 6 (- 2/3 z)) (/ x y))))
(* y (+ (* -6 (/ (* x (- 2/3 z)) y)) (* 6 (- 2/3 z))))
(* y (+ 6 (* -6 (/ x y))))
(* y (+ 1 (* -1 (/ x y))))
(* -1 (* y (+ (* -6 (- 2/3 z)) (* -1 (/ (+ x (* -6 (* x (- 2/3 z)))) y)))))
(* -1 (* y (+ (* -6 (- 2/3 z)) (* 6 (/ (* x (- 2/3 z)) y)))))
(* -1 (* y (- (* 6 (/ x y)) 6)))
(* -1 (* y (- (/ x y) 1)))
(+ x (* 4 (- y x)))
(+ x (+ (* -6 (* z (- y x))) (* 4 (- y x))))
(* 4 (- y x))
(+ (* -6 (* z (- y x))) (* 4 (- y x)))
2/3
(+ 2/3 (* -1 z))
(* -6 (* z (- y x)))
(* z (+ (* -6 (- y x)) (+ (* 4 (/ (- y x) z)) (/ x z))))
(* z (+ (* -6 (- y x)) (* 4 (/ (- y x) z))))
(* -1 z)
(* z (- (* 2/3 (/ 1 z)) 1))
(* -1 (* z (+ (* -1 (/ (+ x (* 4 (- y x))) z)) (* 6 (- y x)))))
(* -1 (* z (+ (* -4 (/ (- y x) z)) (* 6 (- y x)))))
(* -1 (* z (- 1 (* 2/3 (/ 1 z)))))
Calls

9 calls:

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

simplify1.0ms (0%)

Memory
1.7MiB live, 1.7MiB allocated
Algorithm
egg-herbie
Counts
45 → 5
Calls
Call 1
Inputs
(* 6 (* y (- 2/3 z)))
(+ (* 6 (* y (- 2/3 z))) (* x (+ 1 (* -6 (- 2/3 z)))))
(+ (* -6 (* x (- 2/3 z))) (* 6 (* y (- 2/3 z))))
(* 6 y)
(+ (* -6 x) (* 6 y))
y
(+ y (* -1 x))
(* x (+ 1 (* -6 (- 2/3 z))))
(* x (+ 1 (+ (* -6 (- 2/3 z)) (* 6 (/ (* y (- 2/3 z)) x)))))
(* -6 (* x (- 2/3 z)))
(* x (+ (* -6 (- 2/3 z)) (* 6 (/ (* y (- 2/3 z)) x))))
(* -6 x)
(* x (- (* 6 (/ y x)) 6))
(* -1 x)
(* x (- (/ y x) 1))
(* -1 (* x (- (* 6 (- 2/3 z)) 1)))
(* -1 (* x (- (+ (* -6 (/ (* y (- 2/3 z)) x)) (* 6 (- 2/3 z))) 1)))
(* -1 (* x (+ (* -6 (/ (* y (- 2/3 z)) x)) (* 6 (- 2/3 z)))))
(* -1 (* x (+ 6 (* -6 (/ y x)))))
(* -1 (* x (+ 1 (* -1 (/ y x)))))
(+ x (* -6 (* x (- 2/3 z))))
(+ x (+ (* -6 (* x (- 2/3 z))) (* 6 (* y (- 2/3 z)))))
(- y x)
(* y (+ (* -6 (/ (* x (- 2/3 z)) y)) (+ (* 6 (- 2/3 z)) (/ x y))))
(* y (+ (* -6 (/ (* x (- 2/3 z)) y)) (* 6 (- 2/3 z))))
(* y (+ 6 (* -6 (/ x y))))
(* y (+ 1 (* -1 (/ x y))))
(* -1 (* y (+ (* -6 (- 2/3 z)) (* -1 (/ (+ x (* -6 (* x (- 2/3 z)))) y)))))
(* -1 (* y (+ (* -6 (- 2/3 z)) (* 6 (/ (* x (- 2/3 z)) y)))))
(* -1 (* y (- (* 6 (/ x y)) 6)))
(* -1 (* y (- (/ x y) 1)))
(+ x (* 4 (- y x)))
(+ x (+ (* -6 (* z (- y x))) (* 4 (- y x))))
(* 4 (- y x))
(+ (* -6 (* z (- y x))) (* 4 (- y x)))
2/3
(+ 2/3 (* -1 z))
(* -6 (* z (- y x)))
(* z (+ (* -6 (- y x)) (+ (* 4 (/ (- y x) z)) (/ x z))))
(* z (+ (* -6 (- y x)) (* 4 (/ (- y x) z))))
(* -1 z)
(* z (- (* 2/3 (/ 1 z)) 1))
(* -1 (* z (+ (* -1 (/ (+ x (* 4 (- y x))) z)) (* 6 (- y x)))))
(* -1 (* z (+ (* -4 (/ (- y x) z)) (* 6 (- y x)))))
(* -1 (* z (- 1 (* 2/3 (/ 1 z)))))
Outputs
(* 6 (* y (- 2/3 z)))
(+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
(+ (* 6 (* y (- 2/3 z))) (* x (+ 1 (* -6 (- 2/3 z)))))
(*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))
(+ (* -6 (* x (- 2/3 z))) (* 6 (* y (- 2/3 z))))
(*.f64 (-.f64 y x) #s(literal 6 binary64))
(* 6 y)
(-.f64 y x)
(+ (* -6 x) (* 6 y))
(-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)

rewrite0.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated
Counts
5 → 5
Calls
Call 1
Inputs
(+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
(*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))
(*.f64 (-.f64 y x) #s(literal 6 binary64))
(-.f64 y x)
(-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)
Outputs
(+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
(*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))
(*.f64 (-.f64 y x) #s(literal 6 binary64))
(-.f64 y x)
(-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)

eval1.0ms (0.1%)

Memory
2.9MiB live, 2.9MiB allocated
Compiler

Compiled 172 to 31 computations (82% saved)

prune2.0ms (0.1%)

Memory
5.4MiB live, 5.4MiB allocated
Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New7310
Fresh000
Picked011
Done000
Total7411
Accuracy
99.6%
Counts
11 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.6%
(+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
30.8%
(+.f64 x (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
11.6%
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))
78.1%
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
Compiler

Compiled 74 to 63 computations (14.9% saved)

simplify1.0ms (0.1%)

Memory
2.1MiB live, 2.1MiB allocated
Algorithm
egg-herbie
Localize:

Found 12 expressions of interest:

NewMetricScoreProgram
cost-diff0
(-.f64 y x)
cost-diff0
#s(approx (* (- y x) 6) (-.f64 y x))
cost-diff0
(*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))
cost-diff0
(+.f64 x (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
cost-diff0
(-.f64 y x)
cost-diff0
(*.f64 (-.f64 y x) #s(literal 6 binary64))
cost-diff0
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))
cost-diff0
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))
cost-diff0
(-.f64 y x)
cost-diff0
(*.f64 (-.f64 y x) #s(literal 6 binary64))
cost-diff0
(*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))
cost-diff0
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
Calls
Call 1
Inputs
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
(*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))
(*.f64 (-.f64 y x) #s(literal 6 binary64))
(-.f64 y x)
y
x
#s(literal 6 binary64)
(-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)
(/.f64 #s(literal 2 binary64) #s(literal 3 binary64))
#s(literal 2 binary64)
#s(literal 3 binary64)
z
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))
x
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))
(*.f64 (-.f64 y x) #s(literal 6 binary64))
(-.f64 y x)
y
#s(literal 6 binary64)
(+.f64 x (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
x
(*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))
#s(approx (* (- y x) 6) (-.f64 y x))
(-.f64 y x)
y
(-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)
(/.f64 #s(literal 2 binary64) #s(literal 3 binary64))
#s(literal 2 binary64)
#s(literal 3 binary64)
z
Outputs
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
(*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))
(*.f64 (-.f64 y x) #s(literal 6 binary64))
(-.f64 y x)
y
x
#s(literal 6 binary64)
(-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)
(/.f64 #s(literal 2 binary64) #s(literal 3 binary64))
#s(literal 2 binary64)
#s(literal 3 binary64)
z
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))
x
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))
(*.f64 (-.f64 y x) #s(literal 6 binary64))
(-.f64 y x)
y
#s(literal 6 binary64)
(+.f64 x (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
x
(*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))
#s(approx (* (- y x) 6) (-.f64 y x))
(-.f64 y x)
y
(-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)
(/.f64 #s(literal 2 binary64) #s(literal 3 binary64))
#s(literal 2 binary64)
#s(literal 3 binary64)
z

localize47.0ms (2.8%)

Memory
-20.0MiB live, 99.9MiB allocated
Localize:

Found 12 expressions of interest:

NewMetricScoreProgram
accuracy0.0078125
(-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)
accuracy0.06640625
(+.f64 x (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
accuracy0.22265625
(*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))
accuracy53.36856962280246
#s(approx (* (- y x) 6) (-.f64 y x))
accuracy0.0
(-.f64 y x)
accuracy0.06640625
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))
accuracy0.1953125
(*.f64 (-.f64 y x) #s(literal 6 binary64))
accuracy56.46590816280813
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))
accuracy0.0078125
(-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)
accuracy0.1953125
(*.f64 (-.f64 y x) #s(literal 6 binary64))
accuracy0.22265625
(*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))
accuracy13.849782573171955
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
Samples
20.0ms205×0valid
6.0ms16×2valid
5.0ms27×1valid
3.0ms3valid
Compiler

Compiled 290 to 40 computations (86.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 16.0ms
ival-sub: 5.0ms (32.1% of total)
ival-mult: 4.0ms (25.7% of total)
ival-div: 2.0ms (12.9% of total)
adjust: 2.0ms (12.9% of total)
ival-add: 1.0ms (6.4% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series5.0ms (0.3%)

Memory
16.2MiB live, 16.2MiB allocated
Counts
10 → 45
Calls
Call 1
Inputs
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
(*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))
(*.f64 (-.f64 y x) #s(literal 6 binary64))
(-.f64 y x)
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))
(+.f64 x (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
(*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))
#s(approx (* (- y x) 6) (-.f64 y x))
(-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)
Outputs
(* 6 (* y (- 2/3 z)))
(+ (* 6 (* y (- 2/3 z))) (* x (+ 1 (* -6 (- 2/3 z)))))
(+ (* -6 (* x (- 2/3 z))) (* 6 (* y (- 2/3 z))))
(* 6 y)
(+ (* -6 x) (* 6 y))
y
(+ y (* -1 x))
(* x (+ 1 (* -6 (- 2/3 z))))
(* x (+ 1 (+ (* -6 (- 2/3 z)) (* 6 (/ (* y (- 2/3 z)) x)))))
(* -6 (* x (- 2/3 z)))
(* x (+ (* -6 (- 2/3 z)) (* 6 (/ (* y (- 2/3 z)) x))))
(* -6 x)
(* x (- (* 6 (/ y x)) 6))
(* -1 x)
(* x (- (/ y x) 1))
(* -1 (* x (- (* 6 (- 2/3 z)) 1)))
(* -1 (* x (- (+ (* -6 (/ (* y (- 2/3 z)) x)) (* 6 (- 2/3 z))) 1)))
(* -1 (* x (+ (* -6 (/ (* y (- 2/3 z)) x)) (* 6 (- 2/3 z)))))
(* -1 (* x (+ 6 (* -6 (/ y x)))))
(* -1 (* x (+ 1 (* -1 (/ y x)))))
(+ x (* -6 (* x (- 2/3 z))))
(+ x (+ (* -6 (* x (- 2/3 z))) (* 6 (* y (- 2/3 z)))))
(- y x)
(* y (+ (* -6 (/ (* x (- 2/3 z)) y)) (+ (* 6 (- 2/3 z)) (/ x y))))
(* y (+ (* -6 (/ (* x (- 2/3 z)) y)) (* 6 (- 2/3 z))))
(* y (+ 6 (* -6 (/ x y))))
(* y (+ 1 (* -1 (/ x y))))
(* -1 (* y (+ (* -6 (- 2/3 z)) (* -1 (/ (+ x (* -6 (* x (- 2/3 z)))) y)))))
(* -1 (* y (+ (* -6 (- 2/3 z)) (* 6 (/ (* x (- 2/3 z)) y)))))
(* -1 (* y (- (* 6 (/ x y)) 6)))
(* -1 (* y (- (/ x y) 1)))
(+ x (* 4 (- y x)))
(+ x (+ (* -6 (* z (- y x))) (* 4 (- y x))))
(* 4 (- y x))
(+ (* -6 (* z (- y x))) (* 4 (- y x)))
2/3
(+ 2/3 (* -1 z))
(* -6 (* z (- y x)))
(* z (+ (* -6 (- y x)) (+ (* 4 (/ (- y x) z)) (/ x z))))
(* z (+ (* -6 (- y x)) (* 4 (/ (- y x) z))))
(* -1 z)
(* z (- (* 2/3 (/ 1 z)) 1))
(* -1 (* z (+ (* -1 (/ (+ x (* 4 (- y x))) z)) (* 6 (- y x)))))
(* -1 (* z (+ (* -4 (/ (- y x) z)) (* 6 (- y x)))))
(* -1 (* z (- 1 (* 2/3 (/ 1 z)))))
Calls

9 calls:

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

simplify1.0ms (0%)

Memory
1.6MiB live, 1.6MiB allocated
Algorithm
egg-herbie
Counts
45 → 10
Calls
Call 1
Inputs
(* 6 (* y (- 2/3 z)))
(+ (* 6 (* y (- 2/3 z))) (* x (+ 1 (* -6 (- 2/3 z)))))
(+ (* -6 (* x (- 2/3 z))) (* 6 (* y (- 2/3 z))))
(* 6 y)
(+ (* -6 x) (* 6 y))
y
(+ y (* -1 x))
(* x (+ 1 (* -6 (- 2/3 z))))
(* x (+ 1 (+ (* -6 (- 2/3 z)) (* 6 (/ (* y (- 2/3 z)) x)))))
(* -6 (* x (- 2/3 z)))
(* x (+ (* -6 (- 2/3 z)) (* 6 (/ (* y (- 2/3 z)) x))))
(* -6 x)
(* x (- (* 6 (/ y x)) 6))
(* -1 x)
(* x (- (/ y x) 1))
(* -1 (* x (- (* 6 (- 2/3 z)) 1)))
(* -1 (* x (- (+ (* -6 (/ (* y (- 2/3 z)) x)) (* 6 (- 2/3 z))) 1)))
(* -1 (* x (+ (* -6 (/ (* y (- 2/3 z)) x)) (* 6 (- 2/3 z)))))
(* -1 (* x (+ 6 (* -6 (/ y x)))))
(* -1 (* x (+ 1 (* -1 (/ y x)))))
(+ x (* -6 (* x (- 2/3 z))))
(+ x (+ (* -6 (* x (- 2/3 z))) (* 6 (* y (- 2/3 z)))))
(- y x)
(* y (+ (* -6 (/ (* x (- 2/3 z)) y)) (+ (* 6 (- 2/3 z)) (/ x y))))
(* y (+ (* -6 (/ (* x (- 2/3 z)) y)) (* 6 (- 2/3 z))))
(* y (+ 6 (* -6 (/ x y))))
(* y (+ 1 (* -1 (/ x y))))
(* -1 (* y (+ (* -6 (- 2/3 z)) (* -1 (/ (+ x (* -6 (* x (- 2/3 z)))) y)))))
(* -1 (* y (+ (* -6 (- 2/3 z)) (* 6 (/ (* x (- 2/3 z)) y)))))
(* -1 (* y (- (* 6 (/ x y)) 6)))
(* -1 (* y (- (/ x y) 1)))
(+ x (* 4 (- y x)))
(+ x (+ (* -6 (* z (- y x))) (* 4 (- y x))))
(* 4 (- y x))
(+ (* -6 (* z (- y x))) (* 4 (- y x)))
2/3
(+ 2/3 (* -1 z))
(* -6 (* z (- y x)))
(* z (+ (* -6 (- y x)) (+ (* 4 (/ (- y x) z)) (/ x z))))
(* z (+ (* -6 (- y x)) (* 4 (/ (- y x) z))))
(* -1 z)
(* z (- (* 2/3 (/ 1 z)) 1))
(* -1 (* z (+ (* -1 (/ (+ x (* 4 (- y x))) z)) (* 6 (- y x)))))
(* -1 (* z (+ (* -4 (/ (- y x) z)) (* 6 (- y x)))))
(* -1 (* z (- 1 (* 2/3 (/ 1 z)))))
Outputs
(* 6 (* y (- 2/3 z)))
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
(+ (* 6 (* y (- 2/3 z))) (* x (+ 1 (* -6 (- 2/3 z)))))
(*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))
(+ (* -6 (* x (- 2/3 z))) (* 6 (* y (- 2/3 z))))
(*.f64 (-.f64 y x) #s(literal 6 binary64))
(* 6 y)
(-.f64 y x)
(+ (* -6 x) (* 6 y))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))
y
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))
(+ y (* -1 x))
(+.f64 x (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
(* x (+ 1 (* -6 (- 2/3 z))))
(*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))
(* x (+ 1 (+ (* -6 (- 2/3 z)) (* 6 (/ (* y (- 2/3 z)) x)))))
#s(approx (* (- y x) 6) (-.f64 y x))
(* -6 (* x (- 2/3 z)))
(-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)

rewrite1.0ms (0%)

Memory
2.1MiB live, 2.1MiB allocated
Counts
10 → 10
Calls
Call 1
Inputs
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
(*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))
(*.f64 (-.f64 y x) #s(literal 6 binary64))
(-.f64 y x)
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))
(+.f64 x (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
(*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))
#s(approx (* (- y x) 6) (-.f64 y x))
(-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)
Outputs
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
(*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))
(*.f64 (-.f64 y x) #s(literal 6 binary64))
(-.f64 y x)
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))
(+.f64 x (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
(*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))
#s(approx (* (- y x) 6) (-.f64 y x))
(-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)

eval3.0ms (0.2%)

Memory
9.1MiB live, 9.1MiB allocated
Compiler

Compiled 769 to 57 computations (92.6% saved)

prune9.0ms (0.5%)

Memory
-12.7MiB live, 26.1MiB allocated
Pruning

12 alts after pruning (8 fresh and 4 done)

PrunedKeptTotal
New19827
Fresh000
Picked033
Done011
Total191231
Accuracy
99.7%
Counts
31 → 12
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.6%
(+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
30.8%
(+.f64 x (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
11.6%
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))
73.0%
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) (+.f64 x (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))) #s(literal 6 binary64))))
9.8%
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))) #s(literal 6 binary64))))
6.5%
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (-.f64 y x))))
12.0%
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))))))
78.1%
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
35.0%
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
10.5%
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) #s(approx (* (- y x) 6) (-.f64 y x)))
3.2%
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
11.4%
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))
Compiler

Compiled 574 to 357 computations (37.8% saved)

simplify2.0ms (0.1%)

Memory
3.5MiB live, 3.5MiB allocated
Algorithm
egg-herbie
Localize:

Found 19 expressions of interest:

NewMetricScoreProgram
cost-diff0
(-.f64 y x)
cost-diff0
#s(approx (* (- y x) 6) (-.f64 y x))
cost-diff0
(*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))
cost-diff0
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
cost-diff0
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))
cost-diff0
#s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))))
cost-diff0
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))))
cost-diff0
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))))))
cost-diff0
(-.f64 y x)
cost-diff0
(*.f64 (-.f64 y x) #s(literal 6 binary64))
cost-diff0
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))
cost-diff0
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))
cost-diff0
(-.f64 y x)
cost-diff0
#s(approx (* (- y x) 6) (-.f64 y x))
cost-diff0
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) #s(approx (* (- y x) 6) (-.f64 y x)))
cost-diff0
#s(approx (- y x) (+.f64 x (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))))
cost-diff0
(*.f64 #s(approx (- y x) (+.f64 x (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))) #s(literal 6 binary64))
cost-diff0
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) (+.f64 x (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))) #s(literal 6 binary64)))
cost-diff0
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) (+.f64 x (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))) #s(literal 6 binary64))))
Calls
Call 1
Inputs
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) (+.f64 x (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))) #s(literal 6 binary64))))
x
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) (+.f64 x (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))) #s(literal 6 binary64)))
(*.f64 #s(approx (- y x) (+.f64 x (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))) #s(literal 6 binary64))
#s(approx (- y x) (+.f64 x (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))))
(+.f64 x (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
(*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))
#s(approx (* (- y x) 6) (-.f64 y x))
(-.f64 y x)
y
(-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)
(/.f64 #s(literal 2 binary64) #s(literal 3 binary64))
#s(literal 2 binary64)
#s(literal 3 binary64)
z
#s(literal 6 binary64)
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) #s(approx (* (- y x) 6) (-.f64 y x)))
#s(approx (* (- y x) 6) (-.f64 y x))
(-.f64 y x)
y
x
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))
(*.f64 (-.f64 y x) #s(literal 6 binary64))
(-.f64 y x)
y
x
#s(literal 6 binary64)
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))))))
x
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))))
#s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))
(*.f64 (-.f64 y x) #s(literal 6 binary64))
(-.f64 y x)
y
#s(literal 6 binary64)
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
(*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))
#s(approx (* (- y x) 6) (-.f64 y x))
(-.f64 y x)
y
x
(-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)
(/.f64 #s(literal 2 binary64) #s(literal 3 binary64))
#s(literal 2 binary64)
#s(literal 3 binary64)
z
Outputs
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) (+.f64 x (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))) #s(literal 6 binary64))))
x
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) (+.f64 x (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))) #s(literal 6 binary64)))
(*.f64 #s(approx (- y x) (+.f64 x (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))) #s(literal 6 binary64))
#s(approx (- y x) (+.f64 x (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))))
(+.f64 x (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
(*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))
#s(approx (* (- y x) 6) (-.f64 y x))
(-.f64 y x)
y
(-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)
(/.f64 #s(literal 2 binary64) #s(literal 3 binary64))
#s(literal 2 binary64)
#s(literal 3 binary64)
z
#s(literal 6 binary64)
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) #s(approx (* (- y x) 6) (-.f64 y x)))
#s(approx (* (- y x) 6) (-.f64 y x))
(-.f64 y x)
y
x
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))
(*.f64 (-.f64 y x) #s(literal 6 binary64))
(-.f64 y x)
y
x
#s(literal 6 binary64)
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))))))
x
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))))
#s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))
(*.f64 (-.f64 y x) #s(literal 6 binary64))
(-.f64 y x)
y
#s(literal 6 binary64)
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
(*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))
#s(approx (* (- y x) 6) (-.f64 y x))
(-.f64 y x)
y
x
(-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)
(/.f64 #s(literal 2 binary64) #s(literal 3 binary64))
#s(literal 2 binary64)
#s(literal 3 binary64)
z

localize56.0ms (3.4%)

Memory
11.1MiB live, 86.5MiB allocated
Localize:

Found 19 expressions of interest:

NewMetricScoreProgram
accuracy0.0078125
(-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)
accuracy0.22265625
(*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))
accuracy13.849782573171955
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
accuracy53.36856962280246
#s(approx (* (- y x) 6) (-.f64 y x))
accuracy0.1953125
(*.f64 (-.f64 y x) #s(literal 6 binary64))
accuracy56.46590816280813
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))
accuracy56.46590816280813
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))))
accuracy56.67244374962591
#s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))))
accuracy0.0
(-.f64 y x)
accuracy0.1953125
(*.f64 (-.f64 y x) #s(literal 6 binary64))
accuracy13.849782573171955
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))
accuracy56.46590816280813
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))
accuracy0.0
(-.f64 y x)
accuracy53.36856962280246
#s(approx (* (- y x) 6) (-.f64 y x))
accuracy56.67244374962591
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) #s(approx (* (- y x) 6) (-.f64 y x)))
accuracy0.22265625
(*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))
accuracy53.36856962280246
#s(approx (* (- y x) 6) (-.f64 y x))
accuracy56.46590816280813
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) (+.f64 x (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))) #s(literal 6 binary64)))
accuracy57.28082329610279
#s(approx (- y x) (+.f64 x (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))))
Samples
26.0ms205×0valid
5.0ms27×1valid
5.0ms16×2valid
3.0ms3valid
Compiler

Compiled 734 to 48 computations (93.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 16.0ms
ival-mult: 6.0ms (38.7% of total)
ival-sub: 3.0ms (19.3% of total)
ival-div: 2.0ms (12.9% of total)
adjust: 2.0ms (12.9% of total)
ival-add: 2.0ms (12.9% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series6.0ms (0.4%)

Memory
10.1MiB live, 10.1MiB allocated
Counts
17 → 45
Calls
Call 1
Inputs
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) (+.f64 x (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))) #s(literal 6 binary64))))
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) (+.f64 x (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))) #s(literal 6 binary64)))
(*.f64 #s(approx (- y x) (+.f64 x (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))) #s(literal 6 binary64))
#s(approx (- y x) (+.f64 x (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))))
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) #s(approx (* (- y x) 6) (-.f64 y x)))
#s(approx (* (- y x) 6) (-.f64 y x))
(-.f64 y x)
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))
(*.f64 (-.f64 y x) #s(literal 6 binary64))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))))))
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))))
#s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
(*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))
(-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)
Outputs
(* 6 (* y (- 2/3 z)))
(+ (* 6 (* y (- 2/3 z))) (* x (+ 1 (* -6 (- 2/3 z)))))
(+ (* -6 (* x (- 2/3 z))) (* 6 (* y (- 2/3 z))))
(* 6 y)
(+ (* -6 x) (* 6 y))
y
(+ y (* -1 x))
(* x (+ 1 (* -6 (- 2/3 z))))
(* x (+ 1 (+ (* -6 (- 2/3 z)) (* 6 (/ (* y (- 2/3 z)) x)))))
(* -6 (* x (- 2/3 z)))
(* x (+ (* -6 (- 2/3 z)) (* 6 (/ (* y (- 2/3 z)) x))))
(* -6 x)
(* x (- (* 6 (/ y x)) 6))
(* -1 x)
(* x (- (/ y x) 1))
(* -1 (* x (- (* 6 (- 2/3 z)) 1)))
(* -1 (* x (- (+ (* -6 (/ (* y (- 2/3 z)) x)) (* 6 (- 2/3 z))) 1)))
(* -1 (* x (+ (* -6 (/ (* y (- 2/3 z)) x)) (* 6 (- 2/3 z)))))
(* -1 (* x (+ 6 (* -6 (/ y x)))))
(* -1 (* x (+ 1 (* -1 (/ y x)))))
(+ x (* -6 (* x (- 2/3 z))))
(+ x (+ (* -6 (* x (- 2/3 z))) (* 6 (* y (- 2/3 z)))))
(- y x)
(* y (+ (* -6 (/ (* x (- 2/3 z)) y)) (+ (* 6 (- 2/3 z)) (/ x y))))
(* y (+ (* -6 (/ (* x (- 2/3 z)) y)) (* 6 (- 2/3 z))))
(* y (+ 6 (* -6 (/ x y))))
(* y (+ 1 (* -1 (/ x y))))
(* -1 (* y (+ (* -6 (- 2/3 z)) (* -1 (/ (+ x (* -6 (* x (- 2/3 z)))) y)))))
(* -1 (* y (+ (* -6 (- 2/3 z)) (* 6 (/ (* x (- 2/3 z)) y)))))
(* -1 (* y (- (* 6 (/ x y)) 6)))
(* -1 (* y (- (/ x y) 1)))
(+ x (* 4 (- y x)))
(+ x (+ (* -6 (* z (- y x))) (* 4 (- y x))))
(* 4 (- y x))
(+ (* -6 (* z (- y x))) (* 4 (- y x)))
2/3
(+ 2/3 (* -1 z))
(* -6 (* z (- y x)))
(* z (+ (* -6 (- y x)) (+ (* 4 (/ (- y x) z)) (/ x z))))
(* z (+ (* -6 (- y x)) (* 4 (/ (- y x) z))))
(* -1 z)
(* z (- (* 2/3 (/ 1 z)) 1))
(* -1 (* z (+ (* -1 (/ (+ x (* 4 (- y x))) z)) (* 6 (- y x)))))
(* -1 (* z (+ (* -4 (/ (- y x) z)) (* 6 (- y x)))))
(* -1 (* z (- 1 (* 2/3 (/ 1 z)))))
Calls

9 calls:

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

simplify1.0ms (0%)

Memory
1.4MiB live, 1.4MiB allocated
Algorithm
egg-herbie
Counts
45 → 17
Calls
Call 1
Inputs
(* 6 (* y (- 2/3 z)))
(+ (* 6 (* y (- 2/3 z))) (* x (+ 1 (* -6 (- 2/3 z)))))
(+ (* -6 (* x (- 2/3 z))) (* 6 (* y (- 2/3 z))))
(* 6 y)
(+ (* -6 x) (* 6 y))
y
(+ y (* -1 x))
(* x (+ 1 (* -6 (- 2/3 z))))
(* x (+ 1 (+ (* -6 (- 2/3 z)) (* 6 (/ (* y (- 2/3 z)) x)))))
(* -6 (* x (- 2/3 z)))
(* x (+ (* -6 (- 2/3 z)) (* 6 (/ (* y (- 2/3 z)) x))))
(* -6 x)
(* x (- (* 6 (/ y x)) 6))
(* -1 x)
(* x (- (/ y x) 1))
(* -1 (* x (- (* 6 (- 2/3 z)) 1)))
(* -1 (* x (- (+ (* -6 (/ (* y (- 2/3 z)) x)) (* 6 (- 2/3 z))) 1)))
(* -1 (* x (+ (* -6 (/ (* y (- 2/3 z)) x)) (* 6 (- 2/3 z)))))
(* -1 (* x (+ 6 (* -6 (/ y x)))))
(* -1 (* x (+ 1 (* -1 (/ y x)))))
(+ x (* -6 (* x (- 2/3 z))))
(+ x (+ (* -6 (* x (- 2/3 z))) (* 6 (* y (- 2/3 z)))))
(- y x)
(* y (+ (* -6 (/ (* x (- 2/3 z)) y)) (+ (* 6 (- 2/3 z)) (/ x y))))
(* y (+ (* -6 (/ (* x (- 2/3 z)) y)) (* 6 (- 2/3 z))))
(* y (+ 6 (* -6 (/ x y))))
(* y (+ 1 (* -1 (/ x y))))
(* -1 (* y (+ (* -6 (- 2/3 z)) (* -1 (/ (+ x (* -6 (* x (- 2/3 z)))) y)))))
(* -1 (* y (+ (* -6 (- 2/3 z)) (* 6 (/ (* x (- 2/3 z)) y)))))
(* -1 (* y (- (* 6 (/ x y)) 6)))
(* -1 (* y (- (/ x y) 1)))
(+ x (* 4 (- y x)))
(+ x (+ (* -6 (* z (- y x))) (* 4 (- y x))))
(* 4 (- y x))
(+ (* -6 (* z (- y x))) (* 4 (- y x)))
2/3
(+ 2/3 (* -1 z))
(* -6 (* z (- y x)))
(* z (+ (* -6 (- y x)) (+ (* 4 (/ (- y x) z)) (/ x z))))
(* z (+ (* -6 (- y x)) (* 4 (/ (- y x) z))))
(* -1 z)
(* z (- (* 2/3 (/ 1 z)) 1))
(* -1 (* z (+ (* -1 (/ (+ x (* 4 (- y x))) z)) (* 6 (- y x)))))
(* -1 (* z (+ (* -4 (/ (- y x) z)) (* 6 (- y x)))))
(* -1 (* z (- 1 (* 2/3 (/ 1 z)))))
Outputs
(* 6 (* y (- 2/3 z)))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) (+.f64 x (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))) #s(literal 6 binary64))))
(+ (* 6 (* y (- 2/3 z))) (* x (+ 1 (* -6 (- 2/3 z)))))
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) (+.f64 x (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))) #s(literal 6 binary64)))
(+ (* -6 (* x (- 2/3 z))) (* 6 (* y (- 2/3 z))))
(*.f64 #s(approx (- y x) (+.f64 x (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))) #s(literal 6 binary64))
(* 6 y)
#s(approx (- y x) (+.f64 x (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))))
(+ (* -6 x) (* 6 y))
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) #s(approx (* (- y x) 6) (-.f64 y x)))
y
#s(approx (* (- y x) 6) (-.f64 y x))
(+ y (* -1 x))
(-.f64 y x)
(* x (+ 1 (* -6 (- 2/3 z))))
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))
(* x (+ 1 (+ (* -6 (- 2/3 z)) (* 6 (/ (* y (- 2/3 z)) x)))))
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))
(* -6 (* x (- 2/3 z)))
(*.f64 (-.f64 y x) #s(literal 6 binary64))
(* x (+ (* -6 (- 2/3 z)) (* 6 (/ (* y (- 2/3 z)) x))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))))))
(* -6 x)
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))))
(* x (- (* 6 (/ y x)) 6))
#s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))))
(* -1 x)
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))
(* x (- (/ y x) 1))
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
(* -1 (* x (- (* 6 (- 2/3 z)) 1)))
(*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))
(* -1 (* x (- (+ (* -6 (/ (* y (- 2/3 z)) x)) (* 6 (- 2/3 z))) 1)))
(-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)

rewrite8.0ms (0.5%)

Memory
-39.0MiB live, 1.7MiB allocated
Counts
17 → 17
Calls
Call 1
Inputs
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) (+.f64 x (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))) #s(literal 6 binary64))))
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) (+.f64 x (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))) #s(literal 6 binary64)))
(*.f64 #s(approx (- y x) (+.f64 x (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))) #s(literal 6 binary64))
#s(approx (- y x) (+.f64 x (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))))
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) #s(approx (* (- y x) 6) (-.f64 y x)))
#s(approx (* (- y x) 6) (-.f64 y x))
(-.f64 y x)
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))
(*.f64 (-.f64 y x) #s(literal 6 binary64))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))))))
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))))
#s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
(*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))
(-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)
Outputs
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) (+.f64 x (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))) #s(literal 6 binary64))))
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) (+.f64 x (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))) #s(literal 6 binary64)))
(*.f64 #s(approx (- y x) (+.f64 x (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))) #s(literal 6 binary64))
#s(approx (- y x) (+.f64 x (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))))
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) #s(approx (* (- y x) 6) (-.f64 y x)))
#s(approx (* (- y x) 6) (-.f64 y x))
(-.f64 y x)
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))
(*.f64 (-.f64 y x) #s(literal 6 binary64))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))))))
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))))
#s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
(*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))
(-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)

eval4.0ms (0.2%)

Memory
7.3MiB live, 7.3MiB allocated
Compiler

Compiled 1 399 to 68 computations (95.1% saved)

prune9.0ms (0.5%)

Memory
15.2MiB live, 15.2MiB allocated
Pruning

14 alts after pruning (6 fresh and 8 done)

PrunedKeptTotal
New35439
Fresh123
Picked145
Done044
Total371451
Accuracy
99.7%
Counts
51 → 14
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.6%
(+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
30.8%
(+.f64 x (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
30.5%
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))))))))
11.6%
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))
9.8%
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))) #s(literal 6 binary64))))
99.5%
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) #s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))) #s(literal 6 binary64))))
9.8%
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))) #s(literal 6 binary64))))
6.5%
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (-.f64 y x))))
12.0%
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))))))
3.2%
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))
78.1%
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
35.0%
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
10.5%
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) #s(approx (* (- y x) 6) (-.f64 y x)))
11.4%
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))
Compiler

Compiled 636 to 368 computations (42.1% saved)

simplify2.0ms (0.1%)

Memory
3.0MiB live, 3.0MiB allocated
Algorithm
egg-herbie
Localize:

Found 19 expressions of interest:

NewMetricScoreProgram
cost-diff0
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))))
cost-diff0
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))))))
cost-diff0
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))))))
cost-diff0
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))))))))
cost-diff0
#s(approx (- y x) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))
cost-diff0
(*.f64 #s(approx (- y x) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))) #s(literal 6 binary64))
cost-diff0
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))) #s(literal 6 binary64)))
cost-diff0
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))) #s(literal 6 binary64))))
cost-diff0
(/.f64 #s(literal 2 binary64) #s(literal 3 binary64))
cost-diff0
(-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)
cost-diff0
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))
cost-diff0
(-.f64 y x)
cost-diff0
#s(approx (* (- y x) 6) (-.f64 y x))
cost-diff0
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (-.f64 y x)))
cost-diff0
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (-.f64 y x))))
cost-diff0
#s(approx (- y x) #s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))))
cost-diff0
(*.f64 #s(approx (- y x) #s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))) #s(literal 6 binary64))
cost-diff0
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) #s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))) #s(literal 6 binary64)))
cost-diff0
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) #s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))) #s(literal 6 binary64))))
Calls
Call 1
Inputs
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) #s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))) #s(literal 6 binary64))))
x
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) #s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))) #s(literal 6 binary64)))
(*.f64 #s(approx (- y x) #s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))) #s(literal 6 binary64))
#s(approx (- y x) #s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))))
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
(*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))
#s(approx (* (- y x) 6) (-.f64 y x))
(-.f64 y x)
y
(-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)
(/.f64 #s(literal 2 binary64) #s(literal 3 binary64))
#s(literal 2 binary64)
#s(literal 3 binary64)
z
#s(literal 6 binary64)
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (-.f64 y x))))
x
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (-.f64 y x)))
#s(approx (* (- y x) 6) (-.f64 y x))
(-.f64 y x)
y
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))
(-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)
(/.f64 #s(literal 2 binary64) #s(literal 3 binary64))
#s(literal 2 binary64)
#s(literal 3 binary64)
z
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))) #s(literal 6 binary64))))
x
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))) #s(literal 6 binary64)))
(*.f64 #s(approx (- y x) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))) #s(literal 6 binary64))
#s(approx (- y x) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))
(*.f64 (-.f64 y x) #s(literal 6 binary64))
(-.f64 y x)
y
#s(literal 6 binary64)
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))))))))
x
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))))))
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))))
#s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))
(*.f64 (-.f64 y x) #s(literal 6 binary64))
(-.f64 y x)
y
#s(literal 6 binary64)
Outputs
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) #s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))) #s(literal 6 binary64))))
x
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) #s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))) #s(literal 6 binary64)))
(*.f64 #s(approx (- y x) #s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))) #s(literal 6 binary64))
#s(approx (- y x) #s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))))
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
(*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))
#s(approx (* (- y x) 6) (-.f64 y x))
(-.f64 y x)
y
(-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)
(/.f64 #s(literal 2 binary64) #s(literal 3 binary64))
#s(literal 2 binary64)
#s(literal 3 binary64)
z
#s(literal 6 binary64)
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (-.f64 y x))))
x
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (-.f64 y x)))
#s(approx (* (- y x) 6) (-.f64 y x))
(-.f64 y x)
y
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))
(-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)
(/.f64 #s(literal 2 binary64) #s(literal 3 binary64))
#s(literal 2 binary64)
#s(literal 3 binary64)
z
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))) #s(literal 6 binary64))))
x
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))) #s(literal 6 binary64)))
(*.f64 #s(approx (- y x) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))) #s(literal 6 binary64))
#s(approx (- y x) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))
(*.f64 (-.f64 y x) #s(literal 6 binary64))
(-.f64 y x)
y
#s(literal 6 binary64)
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))))))))
x
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))))))
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))))
#s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))
(*.f64 (-.f64 y x) #s(literal 6 binary64))
(-.f64 y x)
y
#s(literal 6 binary64)

localize64.0ms (3.8%)

Memory
2.7MiB live, 74.6MiB allocated
Localize:

Found 19 expressions of interest:

NewMetricScoreProgram
accuracy13.849782573171955
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))))))
accuracy56.46590816280813
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))
accuracy56.46590816280813
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))))
accuracy56.67244374962591
#s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))))
accuracy0.1953125
(*.f64 #s(approx (- y x) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))) #s(literal 6 binary64))
accuracy56.46590816280813
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))
accuracy56.46590816280813
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))) #s(literal 6 binary64)))
accuracy57.369637428632046
#s(approx (- y x) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))
accuracy0.0
(/.f64 #s(literal 2 binary64) #s(literal 3 binary64))
accuracy0.0078125
(-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)
accuracy61.92145453501046
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))
accuracy0.0
(-.f64 y x)
accuracy0.06640625
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (-.f64 y x))))
accuracy53.36856962280246
#s(approx (* (- y x) 6) (-.f64 y x))
accuracy56.46590816280813
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (-.f64 y x)))
accuracy13.849782573171955
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
accuracy53.36856962280246
#s(approx (* (- y x) 6) (-.f64 y x))
accuracy56.46590816280813
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) #s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))) #s(literal 6 binary64)))
accuracy57.28082329610279
#s(approx (- y x) #s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))))
Samples
32.0ms205×0valid
6.0ms27×1valid
5.0ms16×2valid
3.0ms3valid
Compiler

Compiled 998 to 54 computations (94.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 19.0ms
ival-div: 8.0ms (41.1% of total)
ival-mult: 4.0ms (20.5% of total)
ival-sub: 3.0ms (15.4% of total)
adjust: 2.0ms (10.3% of total)
ival-add: 2.0ms (10.3% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series7.0ms (0.4%)

Memory
11.0MiB live, 11.0MiB allocated
Counts
22 → 45
Calls
Call 1
Inputs
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) #s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))) #s(literal 6 binary64))))
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) #s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))) #s(literal 6 binary64)))
(*.f64 #s(approx (- y x) #s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))) #s(literal 6 binary64))
#s(approx (- y x) #s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (-.f64 y x))))
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (-.f64 y x)))
#s(approx (* (- y x) 6) (-.f64 y x))
(-.f64 y x)
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))
(-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)
(/.f64 #s(literal 2 binary64) #s(literal 3 binary64))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))) #s(literal 6 binary64))))
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))) #s(literal 6 binary64)))
(*.f64 #s(approx (- y x) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))) #s(literal 6 binary64))
#s(approx (- y x) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))))))))
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))))))
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))))
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))
#s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))))
Outputs
(* 6 (* y (- 2/3 z)))
(+ (* 6 (* y (- 2/3 z))) (* x (+ 1 (* -6 (- 2/3 z)))))
(+ (* -6 (* x (- 2/3 z))) (* 6 (* y (- 2/3 z))))
(* 6 y)
(+ (* -6 x) (* 6 y))
y
(+ y (* -1 x))
(* x (+ 1 (* -6 (- 2/3 z))))
(* x (+ 1 (+ (* -6 (- 2/3 z)) (* 6 (/ (* y (- 2/3 z)) x)))))
(* -6 (* x (- 2/3 z)))
(* x (+ (* -6 (- 2/3 z)) (* 6 (/ (* y (- 2/3 z)) x))))
(* -6 x)
(* x (- (* 6 (/ y x)) 6))
(* -1 x)
(* x (- (/ y x) 1))
(* -1 (* x (- (* 6 (- 2/3 z)) 1)))
(* -1 (* x (- (+ (* -6 (/ (* y (- 2/3 z)) x)) (* 6 (- 2/3 z))) 1)))
(* -1 (* x (+ (* -6 (/ (* y (- 2/3 z)) x)) (* 6 (- 2/3 z)))))
(* -1 (* x (+ 6 (* -6 (/ y x)))))
(* -1 (* x (+ 1 (* -1 (/ y x)))))
(+ x (* -6 (* x (- 2/3 z))))
(+ x (+ (* -6 (* x (- 2/3 z))) (* 6 (* y (- 2/3 z)))))
(- y x)
(* y (+ (* -6 (/ (* x (- 2/3 z)) y)) (+ (* 6 (- 2/3 z)) (/ x y))))
(* y (+ (* -6 (/ (* x (- 2/3 z)) y)) (* 6 (- 2/3 z))))
(* y (+ 6 (* -6 (/ x y))))
(* y (+ 1 (* -1 (/ x y))))
(* -1 (* y (+ (* -6 (- 2/3 z)) (* -1 (/ (+ x (* -6 (* x (- 2/3 z)))) y)))))
(* -1 (* y (+ (* -6 (- 2/3 z)) (* 6 (/ (* x (- 2/3 z)) y)))))
(* -1 (* y (- (* 6 (/ x y)) 6)))
(* -1 (* y (- (/ x y) 1)))
(+ x (* 4 (- y x)))
(+ x (+ (* -6 (* z (- y x))) (* 4 (- y x))))
(* 4 (- y x))
(+ (* -6 (* z (- y x))) (* 4 (- y x)))
2/3
(+ 2/3 (* -1 z))
(* -6 (* z (- y x)))
(* z (+ (* -6 (- y x)) (+ (* 4 (/ (- y x) z)) (/ x z))))
(* z (+ (* -6 (- y x)) (* 4 (/ (- y x) z))))
(* -1 z)
(* z (- (* 2/3 (/ 1 z)) 1))
(* -1 (* z (+ (* -1 (/ (+ x (* 4 (- y x))) z)) (* 6 (- y x)))))
(* -1 (* z (+ (* -4 (/ (- y x) z)) (* 6 (- y x)))))
(* -1 (* z (- 1 (* 2/3 (/ 1 z)))))
Calls

9 calls:

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

simplify1.0ms (0.1%)

Memory
1.5MiB live, 1.5MiB allocated
Algorithm
egg-herbie
Counts
45 → 22
Calls
Call 1
Inputs
(* 6 (* y (- 2/3 z)))
(+ (* 6 (* y (- 2/3 z))) (* x (+ 1 (* -6 (- 2/3 z)))))
(+ (* -6 (* x (- 2/3 z))) (* 6 (* y (- 2/3 z))))
(* 6 y)
(+ (* -6 x) (* 6 y))
y
(+ y (* -1 x))
(* x (+ 1 (* -6 (- 2/3 z))))
(* x (+ 1 (+ (* -6 (- 2/3 z)) (* 6 (/ (* y (- 2/3 z)) x)))))
(* -6 (* x (- 2/3 z)))
(* x (+ (* -6 (- 2/3 z)) (* 6 (/ (* y (- 2/3 z)) x))))
(* -6 x)
(* x (- (* 6 (/ y x)) 6))
(* -1 x)
(* x (- (/ y x) 1))
(* -1 (* x (- (* 6 (- 2/3 z)) 1)))
(* -1 (* x (- (+ (* -6 (/ (* y (- 2/3 z)) x)) (* 6 (- 2/3 z))) 1)))
(* -1 (* x (+ (* -6 (/ (* y (- 2/3 z)) x)) (* 6 (- 2/3 z)))))
(* -1 (* x (+ 6 (* -6 (/ y x)))))
(* -1 (* x (+ 1 (* -1 (/ y x)))))
(+ x (* -6 (* x (- 2/3 z))))
(+ x (+ (* -6 (* x (- 2/3 z))) (* 6 (* y (- 2/3 z)))))
(- y x)
(* y (+ (* -6 (/ (* x (- 2/3 z)) y)) (+ (* 6 (- 2/3 z)) (/ x y))))
(* y (+ (* -6 (/ (* x (- 2/3 z)) y)) (* 6 (- 2/3 z))))
(* y (+ 6 (* -6 (/ x y))))
(* y (+ 1 (* -1 (/ x y))))
(* -1 (* y (+ (* -6 (- 2/3 z)) (* -1 (/ (+ x (* -6 (* x (- 2/3 z)))) y)))))
(* -1 (* y (+ (* -6 (- 2/3 z)) (* 6 (/ (* x (- 2/3 z)) y)))))
(* -1 (* y (- (* 6 (/ x y)) 6)))
(* -1 (* y (- (/ x y) 1)))
(+ x (* 4 (- y x)))
(+ x (+ (* -6 (* z (- y x))) (* 4 (- y x))))
(* 4 (- y x))
(+ (* -6 (* z (- y x))) (* 4 (- y x)))
2/3
(+ 2/3 (* -1 z))
(* -6 (* z (- y x)))
(* z (+ (* -6 (- y x)) (+ (* 4 (/ (- y x) z)) (/ x z))))
(* z (+ (* -6 (- y x)) (* 4 (/ (- y x) z))))
(* -1 z)
(* z (- (* 2/3 (/ 1 z)) 1))
(* -1 (* z (+ (* -1 (/ (+ x (* 4 (- y x))) z)) (* 6 (- y x)))))
(* -1 (* z (+ (* -4 (/ (- y x) z)) (* 6 (- y x)))))
(* -1 (* z (- 1 (* 2/3 (/ 1 z)))))
Outputs
(* 6 (* y (- 2/3 z)))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) #s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))) #s(literal 6 binary64))))
(+ (* 6 (* y (- 2/3 z))) (* x (+ 1 (* -6 (- 2/3 z)))))
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) #s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))) #s(literal 6 binary64)))
(+ (* -6 (* x (- 2/3 z))) (* 6 (* y (- 2/3 z))))
(*.f64 #s(approx (- y x) #s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))) #s(literal 6 binary64))
(* 6 y)
#s(approx (- y x) #s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))))
(+ (* -6 x) (* 6 y))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (-.f64 y x))))
y
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (-.f64 y x)))
(+ y (* -1 x))
#s(approx (* (- y x) 6) (-.f64 y x))
(* x (+ 1 (* -6 (- 2/3 z))))
(-.f64 y x)
(* x (+ 1 (+ (* -6 (- 2/3 z)) (* 6 (/ (* y (- 2/3 z)) x)))))
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))
(* -6 (* x (- 2/3 z)))
(-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)
(* x (+ (* -6 (- 2/3 z)) (* 6 (/ (* y (- 2/3 z)) x))))
(/.f64 #s(literal 2 binary64) #s(literal 3 binary64))
(* -6 x)
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))) #s(literal 6 binary64))))
(* x (- (* 6 (/ y x)) 6))
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))) #s(literal 6 binary64)))
(* -1 x)
(*.f64 #s(approx (- y x) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))) #s(literal 6 binary64))
(* x (- (/ y x) 1))
#s(approx (- y x) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))
(* -1 (* x (- (* 6 (- 2/3 z)) 1)))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))))))))
(* -1 (* x (- (+ (* -6 (/ (* y (- 2/3 z)) x)) (* 6 (- 2/3 z))) 1)))
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))))))
(* -1 (* x (+ (* -6 (/ (* y (- 2/3 z)) x)) (* 6 (- 2/3 z)))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))))))
(* -1 (* x (+ 6 (* -6 (/ y x)))))
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))))
(* -1 (* x (+ 1 (* -1 (/ y x)))))
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
(+ x (* -6 (* x (- 2/3 z))))
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))
(+ x (+ (* -6 (* x (- 2/3 z))) (* 6 (* y (- 2/3 z)))))
#s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))))

rewrite1.0ms (0.1%)

Memory
2.1MiB live, 2.1MiB allocated
Counts
22 → 22
Calls
Call 1
Inputs
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) #s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))) #s(literal 6 binary64))))
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) #s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))) #s(literal 6 binary64)))
(*.f64 #s(approx (- y x) #s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))) #s(literal 6 binary64))
#s(approx (- y x) #s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (-.f64 y x))))
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (-.f64 y x)))
#s(approx (* (- y x) 6) (-.f64 y x))
(-.f64 y x)
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))
(-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)
(/.f64 #s(literal 2 binary64) #s(literal 3 binary64))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))) #s(literal 6 binary64))))
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))) #s(literal 6 binary64)))
(*.f64 #s(approx (- y x) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))) #s(literal 6 binary64))
#s(approx (- y x) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))))))))
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))))))
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))))
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))
#s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))))
Outputs
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) #s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))) #s(literal 6 binary64))))
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) #s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))) #s(literal 6 binary64)))
(*.f64 #s(approx (- y x) #s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))) #s(literal 6 binary64))
#s(approx (- y x) #s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (-.f64 y x))))
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (-.f64 y x)))
#s(approx (* (- y x) 6) (-.f64 y x))
(-.f64 y x)
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))
(-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)
(/.f64 #s(literal 2 binary64) #s(literal 3 binary64))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))) #s(literal 6 binary64))))
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))) #s(literal 6 binary64)))
(*.f64 #s(approx (- y x) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))) #s(literal 6 binary64))
#s(approx (- y x) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))))))))
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))))))
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))))
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
#s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))
#s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))))

eval9.0ms (0.6%)

Memory
-28.3MiB live, 8.9MiB allocated
Compiler

Compiled 2 014 to 83 computations (95.9% saved)

prune12.0ms (0.7%)

Memory
20.7MiB live, 20.7MiB allocated
Pruning

18 alts after pruning (5 fresh and 13 done)

PrunedKeptTotal
New44448
Fresh011
Picked055
Done088
Total441862
Accuracy
99.7%
Counts
62 → 18
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.6%
(+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
30.8%
(+.f64 x (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
3.0%
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (/.f64 #s(literal 2 binary64) #s(literal 3 binary64))))
30.5%
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))))))))
11.6%
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))
9.8%
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))) #s(literal 6 binary64))))
9.1%
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) (*.f64 #s(approx (- y x) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))) #s(literal 6 binary64))) #s(literal 6 binary64))))
99.5%
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) #s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))) #s(literal 6 binary64))))
9.8%
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))) #s(literal 6 binary64))))
6.5%
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (-.f64 y x))))
12.0%
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))))))
6.5%
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (-.f64 y x)))))))
3.2%
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))
78.1%
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
35.0%
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
10.5%
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) #s(approx (* (- y x) 6) (-.f64 y x)))
11.4%
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))
78.1%
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) #s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))) #s(literal 6 binary64))))
Compiler

Compiled 1 228 to 397 computations (67.7% saved)

regimes38.0ms (2.3%)

Memory
-7.6MiB live, 42.9MiB allocated
Counts
20 → 1
Calls
Call 1
Inputs
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) #s(approx (* (- y x) 6) (-.f64 y x)))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (-.f64 y x))))
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (-.f64 y x)))))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (/.f64 #s(literal 2 binary64) #s(literal 3 binary64))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))) #s(literal 6 binary64))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))))))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))) #s(literal 6 binary64))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) (*.f64 #s(approx (- y x) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))) #s(literal 6 binary64))) #s(literal 6 binary64))))
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
(+.f64 x (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) #s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))) #s(literal 6 binary64))))
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) #s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))) #s(literal 6 binary64))))
(+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) (+.f64 x (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))) #s(literal 6 binary64))))
Outputs
(+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
Calls

5 calls:

13.0ms
(+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
6.0ms
y
6.0ms
x
6.0ms
z
5.0ms
(-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)
Results
AccuracySegmentsBranch
99.6%1x
99.6%1y
99.6%1z
99.6%1(+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
99.6%1(-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)
Compiler

Compiled 21 to 28 computations (-33.3% saved)

regimes35.0ms (2.1%)

Memory
-19.9MiB live, 55.9MiB allocated
Counts
18 → 1
Calls
Call 1
Inputs
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) #s(approx (* (- y x) 6) (-.f64 y x)))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (-.f64 y x))))
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (-.f64 y x)))))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (/.f64 #s(literal 2 binary64) #s(literal 3 binary64))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))) #s(literal 6 binary64))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))))))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))) #s(literal 6 binary64))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) (*.f64 #s(approx (- y x) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))) #s(literal 6 binary64))) #s(literal 6 binary64))))
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
(+.f64 x (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) #s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))) #s(literal 6 binary64))))
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) #s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))) #s(literal 6 binary64))))
Outputs
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) #s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))) #s(literal 6 binary64))))
Calls

5 calls:

10.0ms
(+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
8.0ms
x
6.0ms
y
5.0ms
z
5.0ms
(-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)
Results
AccuracySegmentsBranch
99.5%1x
99.5%1y
99.5%1z
99.5%1(+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
99.5%1(-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)
Compiler

Compiled 21 to 28 computations (-33.3% saved)

regimes30.0ms (1.8%)

Memory
-6.7MiB live, 77.1MiB allocated
Counts
17 → 2
Calls
Call 1
Inputs
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) #s(approx (* (- y x) 6) (-.f64 y x)))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (-.f64 y x))))
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (-.f64 y x)))))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (/.f64 #s(literal 2 binary64) #s(literal 3 binary64))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))) #s(literal 6 binary64))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))))))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))) #s(literal 6 binary64))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) (*.f64 #s(approx (- y x) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))) #s(literal 6 binary64))) #s(literal 6 binary64))))
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
(+.f64 x (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) #s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))) #s(literal 6 binary64))))
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
Outputs
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))))))))
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) #s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))) #s(literal 6 binary64))))
Calls

5 calls:

7.0ms
z
5.0ms
x
5.0ms
y
5.0ms
(+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
5.0ms
(-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)
Results
AccuracySegmentsBranch
80.5%2x
78.1%1y
78.1%1z
78.1%1(+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
78.1%1(-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)
Compiler

Compiled 21 to 28 computations (-33.3% saved)

regimes25.0ms (1.5%)

Memory
30.9MiB live, 70.0MiB allocated
Counts
15 → 3
Calls
Call 1
Inputs
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) #s(approx (* (- y x) 6) (-.f64 y x)))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (-.f64 y x))))
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (-.f64 y x)))))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (/.f64 #s(literal 2 binary64) #s(literal 3 binary64))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))) #s(literal 6 binary64))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))))))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))) #s(literal 6 binary64))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) (*.f64 #s(approx (- y x) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))) #s(literal 6 binary64))) #s(literal 6 binary64))))
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
(+.f64 x (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
Outputs
(+.f64 x (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))))))))
(+.f64 x (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
Calls

5 calls:

6.0ms
y
5.0ms
z
5.0ms
x
5.0ms
(+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
4.0ms
(-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)
Results
AccuracySegmentsBranch
55.3%3(-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)
55.3%3z
42.7%3y
51.7%3(+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
38.2%2x
Compiler

Compiled 21 to 28 computations (-33.3% saved)

regimes10.0ms (0.6%)

Memory
-17.0MiB live, 22.3MiB allocated
Counts
14 → 3
Calls
Call 1
Inputs
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) #s(approx (* (- y x) 6) (-.f64 y x)))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (-.f64 y x))))
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (-.f64 y x)))))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (/.f64 #s(literal 2 binary64) #s(literal 3 binary64))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))) #s(literal 6 binary64))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))))))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))) #s(literal 6 binary64))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) (*.f64 #s(approx (- y x) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))) #s(literal 6 binary64))) #s(literal 6 binary64))))
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
Outputs
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))))))))
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
Calls

2 calls:

5.0ms
(-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)
4.0ms
z
Results
AccuracySegmentsBranch
55.3%3z
55.3%3(-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)
Compiler

Compiled 6 to 10 computations (-66.7% saved)

regimes22.0ms (1.3%)

Memory
8.7MiB live, 47.7MiB allocated
Counts
13 → 1
Calls
Call 1
Inputs
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) #s(approx (* (- y x) 6) (-.f64 y x)))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (-.f64 y x))))
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (-.f64 y x)))))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (/.f64 #s(literal 2 binary64) #s(literal 3 binary64))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))) #s(literal 6 binary64))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))))))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))) #s(literal 6 binary64))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) (*.f64 #s(approx (- y x) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))) #s(literal 6 binary64))) #s(literal 6 binary64))))
Outputs
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))))))))
Calls

5 calls:

5.0ms
y
4.0ms
x
4.0ms
z
4.0ms
(+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
4.0ms
(-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)
Results
AccuracySegmentsBranch
30.5%1x
30.5%1y
30.5%1(+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
30.5%1z
30.5%1(-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)
Compiler

Compiled 21 to 28 computations (-33.3% saved)

regimes19.0ms (1.2%)

Memory
-10.0MiB live, 30.7MiB allocated
Counts
10 → 1
Calls
Call 1
Inputs
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) #s(approx (* (- y x) 6) (-.f64 y x)))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (-.f64 y x))))
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (-.f64 y x)))))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (/.f64 #s(literal 2 binary64) #s(literal 3 binary64))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))) #s(literal 6 binary64))))
Outputs
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))))))
Calls

5 calls:

5.0ms
z
3.0ms
x
3.0ms
(+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
3.0ms
y
3.0ms
(-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)
Results
AccuracySegmentsBranch
12.0%1(+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
12.0%1z
12.0%1y
12.0%1(-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)
12.0%1x
Compiler

Compiled 21 to 28 computations (-33.3% saved)

regimes14.0ms (0.8%)

Memory
24.1MiB live, 24.1MiB allocated
Counts
7 → 1
Calls
Call 1
Inputs
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) #s(approx (* (- y x) 6) (-.f64 y x)))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (-.f64 y x))))
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (-.f64 y x)))))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))
Outputs
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))
Calls

5 calls:

3.0ms
z
3.0ms
(+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
3.0ms
y
3.0ms
x
2.0ms
(-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)
Results
AccuracySegmentsBranch
11.6%1z
11.6%1x
11.6%1(+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
11.6%1y
11.6%1(-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)
Compiler

Compiled 21 to 28 computations (-33.3% saved)

regimes11.0ms (0.6%)

Memory
-20.1MiB live, 18.6MiB allocated
Counts
4 → 1
Calls
Call 1
Inputs
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) #s(approx (* (- y x) 6) (-.f64 y x)))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (-.f64 y x))))
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (-.f64 y x)))))))
Outputs
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))
Calls

5 calls:

3.0ms
(-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)
2.0ms
(+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
2.0ms
z
2.0ms
x
2.0ms
y
Results
AccuracySegmentsBranch
11.4%1y
11.4%1(+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
11.4%1z
11.4%1(-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)
11.4%1x
Compiler

Compiled 21 to 28 computations (-33.3% saved)

regimes7.0ms (0.4%)

Memory
14.9MiB live, 14.9MiB allocated
Accuracy

Total -2.7b remaining (-4.7%)

Threshold costs -2.7b (-4.7%)

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

5 calls:

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

Compiled 21 to 28 computations (-33.3% saved)

bsearch21.0ms (1.2%)

Memory
-11.9MiB live, 26.6MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
18.0ms
-3.2100327051727315e+237
-2.9113156627563928e+224
Samples
9.0ms142×0valid
2.0ms15×1valid
1.0ms2valid
Compiler

Compiled 1 156 to 498 computations (56.9% saved)

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

bsearch38.0ms (2.3%)

Memory
11.3MiB live, 49.3MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
13.0ms
0.6666666666666667
6.79693070745318e+18
21.0ms
-0.967222918080498
0.2116936628921195
Samples
20.0ms400×0valid
Compiler

Compiled 1 666 to 843 computations (49.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 11.0ms
ival-mult: 5.0ms (46.7% of total)
ival-sub: 3.0ms (28% of total)
ival-add: 2.0ms (18.7% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch13.0ms (0.8%)

Memory
-24.0MiB live, 15.7MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
6.0ms
0.6666666666666667
6.79693070745318e+18
4.0ms
-0.967222918080498
0.2116936628921195
Samples
4.0ms96×0valid
Compiler

Compiled 1 966 to 993 computations (49.5% saved)

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

simplify6.0ms (0.3%)

Memory
10.6MiB live, 10.6MiB allocated
Algorithm
egg-herbie
Calls
Call 1
Inputs
(+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) #s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))) #s(literal 6 binary64))))
(if (<=.f64 x #s(literal -3200000000000000170131262920510876913930846264078432311474231355854045287133492990270401373231777570888230938180003870068144142444177169239414149218886529240543734527146951524303920218804106633995348410729327381507595817782514924210094080 binary64)) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))))))) #s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) #s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))) #s(literal 6 binary64)))))
(if (<=.f64 (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z) #s(literal 6124895493223875/36028797018963968 binary64)) (+.f64 x (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))) (if (<=.f64 (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z) #s(literal 5854679515581645/1125899906842624 binary64)) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))))))) (+.f64 x (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))))
(if (<=.f64 (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z) #s(literal 7566047373982433/36028797018963968 binary64)) #s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))) (if (<=.f64 (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z) #s(literal 5404319552844595/1125899906842624 binary64)) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))))))) #s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))))))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) #s(approx (* (- y x) 6) (-.f64 y x)))
Outputs
(+.f64 x (*.f64 (*.f64 (-.f64 y x) #s(literal 6 binary64)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) #s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))) #s(literal 6 binary64))))
(if (<=.f64 x #s(literal -3200000000000000170131262920510876913930846264078432311474231355854045287133492990270401373231777570888230938180003870068144142444177169239414149218886529240543734527146951524303920218804106633995348410729327381507595817782514924210094080 binary64)) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))))))) #s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 #s(approx (- y x) #s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))) #s(literal 6 binary64)))))
(if (<=.f64 (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z) #s(literal 6124895493223875/36028797018963968 binary64)) (+.f64 x (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))) (if (<=.f64 (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z) #s(literal 5854679515581645/1125899906842624 binary64)) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))))))) (+.f64 x (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))))
(if (<=.f64 (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z) #s(literal 7566047373982433/36028797018963968 binary64)) #s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z))) (if (<=.f64 (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z) #s(literal 5404319552844595/1125899906842624 binary64)) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))))))) #s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) (*.f64 #s(approx (* (- y x) 6) (-.f64 y x)) (-.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) z)))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))))))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) #s(approx (* (- y x) 6) (+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64)))))))
(+.f64 x #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) #s(approx (* (* (- y x) 6) (- (/ 2 3) z)) (*.f64 (-.f64 y x) #s(literal 6 binary64))))
#s(approx (+ x (* (* (- y x) 6) (- (/ 2 3) z))) #s(approx (* (- y x) 6) (-.f64 y x)))

soundness3.0ms (0.2%)

Memory
4.8MiB live, 4.8MiB allocated
Stop Event
fuel
Compiler

Compiled 575 to 54 computations (90.6% saved)

preprocess46.0ms (2.8%)

Memory
8.7MiB live, 83.2MiB allocated
Compiler

Compiled 1 176 to 132 computations (88.8% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...