Diagrams.Solve.Polynomial:cubForm from diagrams-solve-0.1, I

Time bar (total: 1.7s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze133.0ms (8%)

Memory
20.3MiB live, 172.5MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.8%0.2%0%0%0%0
0%0%99.8%0.2%0%0%0%1
0%0%99.8%0.2%0%0%0%2
0%0%99.8%0.2%0%0%0%3
0%0%99.8%0.2%0%0%0%4
0%0%99.8%0.2%0%0%0%5
50%49.9%49.9%0.2%0%0%0%6
50%49.9%49.9%0.2%0%0%0%7
50%49.9%49.9%0.2%0%0%0%8
50%49.9%49.9%0.2%0%0%0%9
50%49.9%49.9%0.2%0%0%0%10
75%74.8%24.9%0.2%0%0%0%11
75%74.8%24.9%0.2%0%0%0%12
Compiler

Compiled 15 to 15 computations (0% saved)

sample894.0ms (54%)

Memory
39.9MiB live, 1 136.5MiB allocated
Samples
574.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 332.0ms
ival-mult: 214.0ms (64.4% of total)
ival-div: 59.0ms (17.8% of total)
ival-sub: 40.0ms (12% of total)
exact: 9.0ms (2.7% of total)
ival-true: 7.0ms (2.1% of total)
ival-assert: 4.0ms (1.2% of total)
Bogosity

explain111.0ms (6.7%)

Memory
-0.5MiB live, 158.1MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
180-1(7.15495615866032e-141 2.681759982154505e-173 1.0320805788701206e-209 -4.1094033533143593e-134 5.067209178507548e-48)(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
10-0-(-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
00-0-(*.f64 a #s(literal 2 binary64))
00-0-a
00-0-t
00-0-(*.f64 (*.f64 z #s(literal 9 binary64)) t)
00-0-#s(literal 9 binary64)
00-0-z
00-0-(*.f64 z #s(literal 9 binary64))
00-0-(*.f64 x y)
00-0-#s(literal 2 binary64)
00-0-y
00-0-x
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
/.f64(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))o/n170
(*.f64 (*.f64 z #s(literal 9 binary64)) t)overflow32
(*.f64 x y)overflow30
(-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t))overflow59
-.f64(-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t))nan-rescue10
(*.f64 x y)overflow30
(*.f64 (*.f64 z #s(literal 9 binary64)) t)overflow32
Confusion
Predicted +Predicted -
+181
-0237
Precision
1.0
Recall
0.9473684210526315
Confusion?
Predicted +Predicted MaybePredicted -
+1801
-00237
Precision?
1.0
Recall?
0.9473684210526315
Freqs
test
numberfreq
0238
118
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
47.0ms512×0valid
Compiler

Compiled 146 to 56 computations (61.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 26.0ms
ival-mult: 18.0ms (68.2% of total)
ival-div: 4.0ms (15.2% of total)
ival-sub: 2.0ms (7.6% of total)
exact: 1.0ms (3.8% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess6.0ms (0.4%)

Memory
-32.7MiB live, 7.7MiB allocated
Algorithm
egg-herbie
Calls
Call 1
Inputs
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
Outputs
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
Compiler

Compiled 13 to 13 computations (0% saved)

eval0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated
Compiler

Compiled 0 to 5 computations (-∞% saved)

prune0.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
93.0%
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
Compiler

Compiled 13 to 13 computations (0% saved)

simplify0.0ms (0%)

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

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 (*.f64 z #s(literal 9 binary64)) t)
cost-diff0
(*.f64 x y)
cost-diff0
(-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
cost-diff0
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
Calls
Call 1
Inputs
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
(-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
(*.f64 x y)
x
y
(*.f64 (*.f64 z #s(literal 9 binary64)) t)
(*.f64 z #s(literal 9 binary64))
z
#s(literal 9 binary64)
t
(*.f64 a #s(literal 2 binary64))
a
#s(literal 2 binary64)
Outputs
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
(-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
(*.f64 x y)
x
y
(*.f64 (*.f64 z #s(literal 9 binary64)) t)
(*.f64 z #s(literal 9 binary64))
z
#s(literal 9 binary64)
t
(*.f64 a #s(literal 2 binary64))
a
#s(literal 2 binary64)

localize28.0ms (1.7%)

Memory
-0.9MiB live, 37.3MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 a #s(literal 2 binary64))
accuracy0.20703125
(*.f64 (*.f64 z #s(literal 9 binary64)) t)
accuracy0.20703125000000003
(-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
accuracy4.222710855515672
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
Samples
20.0ms256×0valid
Compiler

Compiled 88 to 28 computations (68.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 10.0ms
ival-mult: 6.0ms (62.3% of total)
ival-div: 2.0ms (20.8% of total)
ival-sub: 1.0ms (10.4% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series17.0ms (1%)

Memory
24.0MiB live, 24.0MiB allocated
Counts
5 → 26
Calls
Call 1
Inputs
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
(-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
(*.f64 x y)
(*.f64 (*.f64 z #s(literal 9 binary64)) t)
(*.f64 a #s(literal 2 binary64))
Outputs
(* -9/2 (/ (* t z) a))
(+ (* -9/2 (/ (* t z) a)) (* 1/2 (/ (* x y) a)))
(* -9 (* t z))
(- (* x y) (* 9 (* t z)))
(* x y)
(* 1/2 (/ (* x y) a))
(* x (+ (* -9/2 (/ (* t z) (* a x))) (* 1/2 (/ y a))))
(* x (+ y (* -9 (/ (* t z) x))))
(* -1 (* x (+ (* -1/2 (/ y a)) (* 9/2 (/ (* t z) (* a x))))))
(* -1 (* x (+ (* -1 y) (* 9 (/ (* t z) x)))))
(* y (+ (* -9/2 (/ (* t z) (* a y))) (* 1/2 (/ x a))))
(* y (+ x (* -9 (/ (* t z) y))))
(* -1 (* y (+ (* -1/2 (/ x a)) (* 9/2 (/ (* t z) (* a y))))))
(* -1 (* y (+ (* -1 x) (* 9 (/ (* t z) y)))))
(+ (* -9 (* t z)) (* x y))
(* 9 (* t z))
(* z (+ (* -9/2 (/ t a)) (* 1/2 (/ (* x y) (* a z)))))
(* z (- (/ (* x y) z) (* 9 t)))
(* -1 (* z (+ (* -1/2 (/ (* x y) (* a z))) (* 9/2 (/ t a)))))
(* -1 (* z (- (* -1 (/ (* x y) z)) (* -9 t))))
(* t (+ (* -9/2 (/ z a)) (* 1/2 (/ (* x y) (* a t)))))
(* t (- (/ (* x y) t) (* 9 z)))
(* -1 (* t (+ (* -1/2 (/ (* x y) (* a t))) (* 9/2 (/ z a)))))
(* -1 (* t (- (* -1 (/ (* x y) t)) (* -9 z))))
(* 1/2 (/ (- (* x y) (* 9 (* t z))) a))
(* 2 a)
Calls

15 calls:

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

simplify0.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated
Algorithm
egg-herbie
Counts
26 → 5
Calls
Call 1
Inputs
(* -9/2 (/ (* t z) a))
(+ (* -9/2 (/ (* t z) a)) (* 1/2 (/ (* x y) a)))
(* -9 (* t z))
(- (* x y) (* 9 (* t z)))
(* x y)
(* 1/2 (/ (* x y) a))
(* x (+ (* -9/2 (/ (* t z) (* a x))) (* 1/2 (/ y a))))
(* x (+ y (* -9 (/ (* t z) x))))
(* -1 (* x (+ (* -1/2 (/ y a)) (* 9/2 (/ (* t z) (* a x))))))
(* -1 (* x (+ (* -1 y) (* 9 (/ (* t z) x)))))
(* y (+ (* -9/2 (/ (* t z) (* a y))) (* 1/2 (/ x a))))
(* y (+ x (* -9 (/ (* t z) y))))
(* -1 (* y (+ (* -1/2 (/ x a)) (* 9/2 (/ (* t z) (* a y))))))
(* -1 (* y (+ (* -1 x) (* 9 (/ (* t z) y)))))
(+ (* -9 (* t z)) (* x y))
(* 9 (* t z))
(* z (+ (* -9/2 (/ t a)) (* 1/2 (/ (* x y) (* a z)))))
(* z (- (/ (* x y) z) (* 9 t)))
(* -1 (* z (+ (* -1/2 (/ (* x y) (* a z))) (* 9/2 (/ t a)))))
(* -1 (* z (- (* -1 (/ (* x y) z)) (* -9 t))))
(* t (+ (* -9/2 (/ z a)) (* 1/2 (/ (* x y) (* a t)))))
(* t (- (/ (* x y) t) (* 9 z)))
(* -1 (* t (+ (* -1/2 (/ (* x y) (* a t))) (* 9/2 (/ z a)))))
(* -1 (* t (- (* -1 (/ (* x y) t)) (* -9 z))))
(* 1/2 (/ (- (* x y) (* 9 (* t z))) a))
(* 2 a)
Outputs
(* -9/2 (/ (* t z) a))
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
(+ (* -9/2 (/ (* t z) a)) (* 1/2 (/ (* x y) a)))
(-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
(* -9 (* t z))
(*.f64 x y)
(- (* x y) (* 9 (* t z)))
(*.f64 (*.f64 z #s(literal 9 binary64)) t)
(* x y)
(*.f64 a #s(literal 2 binary64))

rewrite0.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated
Counts
5 → 5
Calls
Call 1
Inputs
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
(-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
(*.f64 x y)
(*.f64 (*.f64 z #s(literal 9 binary64)) t)
(*.f64 a #s(literal 2 binary64))
Outputs
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
(-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
(*.f64 x y)
(*.f64 (*.f64 z #s(literal 9 binary64)) t)
(*.f64 a #s(literal 2 binary64))

eval1.0ms (0.1%)

Memory
2.1MiB live, 2.1MiB allocated
Compiler

Compiled 168 to 30 computations (82.1% saved)

prune2.0ms (0.1%)

Memory
3.6MiB live, 3.6MiB allocated
Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New6410
Fresh000
Picked011
Done000
Total6511
Accuracy
93.4%
Counts
11 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
93.0%
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
36.4%
(/.f64 (-.f64 #s(approx (* x y) (*.f64 a #s(literal 2 binary64))) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
9.8%
(/.f64 #s(approx (- (* x y) (* (* z 9) t)) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
51.6%
(/.f64 #s(approx (- (* x y) (* (* z 9) t)) (*.f64 x y)) (*.f64 a #s(literal 2 binary64)))
13.3%
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)))
Compiler

Compiled 89 to 78 computations (12.4% saved)

simplify1.0ms (0.1%)

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

Found 16 expressions of interest:

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

localize62.0ms (3.7%)

Memory
-12.6MiB live, 96.9MiB allocated
Localize:

Found 16 expressions of interest:

NewMetricScoreProgram
accuracy0.20703125
(*.f64 (*.f64 z #s(literal 9 binary64)) t)
accuracy0.20703125000000003
(-.f64 #s(approx (* x y) (*.f64 a #s(literal 2 binary64))) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
accuracy4.222710855515672
(/.f64 (-.f64 #s(approx (* x y) (*.f64 a #s(literal 2 binary64))) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
accuracy61.97730498856289
#s(approx (* x y) (*.f64 a #s(literal 2 binary64)))
accuracy0.0
(*.f64 a #s(literal 2 binary64))
accuracy0.20703125
(*.f64 (*.f64 z #s(literal 9 binary64)) t)
accuracy4.222710855515672
(/.f64 #s(approx (- (* x y) (* (* z 9) t)) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
accuracy62.14640121924842
#s(approx (- (* x y) (* (* z 9) t)) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
accuracy0.0
(*.f64 x y)
accuracy0.0
(*.f64 a #s(literal 2 binary64))
accuracy4.222710855515672
(/.f64 #s(approx (- (* x y) (* (* z 9) t)) (*.f64 x y)) (*.f64 a #s(literal 2 binary64)))
accuracy32.00534163330538
#s(approx (- (* x y) (* (* z 9) t)) (*.f64 x y))
accuracy0.0
(*.f64 x y)
accuracy0.20703125
(*.f64 (*.f64 z #s(literal 9 binary64)) t)
accuracy0.20703125000000003
(-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
accuracy55.46701121132194
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)))
Samples
34.0ms256×0valid
Compiler

Compiled 342 to 43 computations (87.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 10.0ms
ival-mult: 6.0ms (62.8% of total)
ival-div: 2.0ms (20.9% of total)
ival-sub: 1.0ms (10.5% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series13.0ms (0.8%)

Memory
28.3MiB live, 28.3MiB allocated
Counts
13 → 27
Calls
Call 1
Inputs
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)))
(-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
(*.f64 x y)
(*.f64 (*.f64 z #s(literal 9 binary64)) t)
(/.f64 #s(approx (- (* x y) (* (* z 9) t)) (*.f64 x y)) (*.f64 a #s(literal 2 binary64)))
#s(approx (- (* x y) (* (* z 9) t)) (*.f64 x y))
(*.f64 a #s(literal 2 binary64))
(/.f64 #s(approx (- (* x y) (* (* z 9) t)) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
#s(approx (- (* x y) (* (* z 9) t)) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
(*.f64 z #s(literal 9 binary64))
(/.f64 (-.f64 #s(approx (* x y) (*.f64 a #s(literal 2 binary64))) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
(-.f64 #s(approx (* x y) (*.f64 a #s(literal 2 binary64))) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
#s(approx (* x y) (*.f64 a #s(literal 2 binary64)))
Outputs
(* -9/2 (/ (* t z) a))
(+ (* -9/2 (/ (* t z) a)) (* 1/2 (/ (* x y) a)))
(* -9 (* t z))
(- (* x y) (* 9 (* t z)))
(* x y)
(* 1/2 (/ (* x y) a))
(* x (+ (* -9/2 (/ (* t z) (* a x))) (* 1/2 (/ y a))))
(* x (+ y (* -9 (/ (* t z) x))))
(* -1 (* x (+ (* -1/2 (/ y a)) (* 9/2 (/ (* t z) (* a x))))))
(* -1 (* x (+ (* -1 y) (* 9 (/ (* t z) x)))))
(* y (+ (* -9/2 (/ (* t z) (* a y))) (* 1/2 (/ x a))))
(* y (+ x (* -9 (/ (* t z) y))))
(* -1 (* y (+ (* -1/2 (/ x a)) (* 9/2 (/ (* t z) (* a y))))))
(* -1 (* y (+ (* -1 x) (* 9 (/ (* t z) y)))))
(+ (* -9 (* t z)) (* x y))
(* 9 (* t z))
(* 9 z)
(* z (+ (* -9/2 (/ t a)) (* 1/2 (/ (* x y) (* a z)))))
(* z (- (/ (* x y) z) (* 9 t)))
(* -1 (* z (+ (* -1/2 (/ (* x y) (* a z))) (* 9/2 (/ t a)))))
(* -1 (* z (- (* -1 (/ (* x y) z)) (* -9 t))))
(* t (+ (* -9/2 (/ z a)) (* 1/2 (/ (* x y) (* a t)))))
(* t (- (/ (* x y) t) (* 9 z)))
(* -1 (* t (+ (* -1/2 (/ (* x y) (* a t))) (* 9/2 (/ z a)))))
(* -1 (* t (- (* -1 (/ (* x y) t)) (* -9 z))))
(* 1/2 (/ (- (* x y) (* 9 (* t z))) a))
(* 2 a)
Calls

15 calls:

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

simplify12.0ms (0.7%)

Memory
-35.7MiB live, 1.5MiB allocated
Algorithm
egg-herbie
Counts
27 → 13
Calls
Call 1
Inputs
(* -9/2 (/ (* t z) a))
(+ (* -9/2 (/ (* t z) a)) (* 1/2 (/ (* x y) a)))
(* -9 (* t z))
(- (* x y) (* 9 (* t z)))
(* x y)
(* 1/2 (/ (* x y) a))
(* x (+ (* -9/2 (/ (* t z) (* a x))) (* 1/2 (/ y a))))
(* x (+ y (* -9 (/ (* t z) x))))
(* -1 (* x (+ (* -1/2 (/ y a)) (* 9/2 (/ (* t z) (* a x))))))
(* -1 (* x (+ (* -1 y) (* 9 (/ (* t z) x)))))
(* y (+ (* -9/2 (/ (* t z) (* a y))) (* 1/2 (/ x a))))
(* y (+ x (* -9 (/ (* t z) y))))
(* -1 (* y (+ (* -1/2 (/ x a)) (* 9/2 (/ (* t z) (* a y))))))
(* -1 (* y (+ (* -1 x) (* 9 (/ (* t z) y)))))
(+ (* -9 (* t z)) (* x y))
(* 9 (* t z))
(* 9 z)
(* z (+ (* -9/2 (/ t a)) (* 1/2 (/ (* x y) (* a z)))))
(* z (- (/ (* x y) z) (* 9 t)))
(* -1 (* z (+ (* -1/2 (/ (* x y) (* a z))) (* 9/2 (/ t a)))))
(* -1 (* z (- (* -1 (/ (* x y) z)) (* -9 t))))
(* t (+ (* -9/2 (/ z a)) (* 1/2 (/ (* x y) (* a t)))))
(* t (- (/ (* x y) t) (* 9 z)))
(* -1 (* t (+ (* -1/2 (/ (* x y) (* a t))) (* 9/2 (/ z a)))))
(* -1 (* t (- (* -1 (/ (* x y) t)) (* -9 z))))
(* 1/2 (/ (- (* x y) (* 9 (* t z))) a))
(* 2 a)
Outputs
(* -9/2 (/ (* t z) a))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)))
(+ (* -9/2 (/ (* t z) a)) (* 1/2 (/ (* x y) a)))
(-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
(* -9 (* t z))
(*.f64 x y)
(- (* x y) (* 9 (* t z)))
(*.f64 (*.f64 z #s(literal 9 binary64)) t)
(* x y)
(/.f64 #s(approx (- (* x y) (* (* z 9) t)) (*.f64 x y)) (*.f64 a #s(literal 2 binary64)))
(* 1/2 (/ (* x y) a))
#s(approx (- (* x y) (* (* z 9) t)) (*.f64 x y))
(* x (+ (* -9/2 (/ (* t z) (* a x))) (* 1/2 (/ y a))))
(*.f64 a #s(literal 2 binary64))
(* x (+ y (* -9 (/ (* t z) x))))
(/.f64 #s(approx (- (* x y) (* (* z 9) t)) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
(* -1 (* x (+ (* -1/2 (/ y a)) (* 9/2 (/ (* t z) (* a x))))))
#s(approx (- (* x y) (* (* z 9) t)) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
(* -1 (* x (+ (* -1 y) (* 9 (/ (* t z) x)))))
(*.f64 z #s(literal 9 binary64))
(* y (+ (* -9/2 (/ (* t z) (* a y))) (* 1/2 (/ x a))))
(/.f64 (-.f64 #s(approx (* x y) (*.f64 a #s(literal 2 binary64))) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
(* y (+ x (* -9 (/ (* t z) y))))
(-.f64 #s(approx (* x y) (*.f64 a #s(literal 2 binary64))) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
(* -1 (* y (+ (* -1/2 (/ x a)) (* 9/2 (/ (* t z) (* a y))))))
#s(approx (* x y) (*.f64 a #s(literal 2 binary64)))

rewrite1.0ms (0%)

Memory
1.7MiB live, 1.7MiB allocated
Counts
13 → 13
Calls
Call 1
Inputs
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)))
(-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
(*.f64 x y)
(*.f64 (*.f64 z #s(literal 9 binary64)) t)
(/.f64 #s(approx (- (* x y) (* (* z 9) t)) (*.f64 x y)) (*.f64 a #s(literal 2 binary64)))
#s(approx (- (* x y) (* (* z 9) t)) (*.f64 x y))
(*.f64 a #s(literal 2 binary64))
(/.f64 #s(approx (- (* x y) (* (* z 9) t)) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
#s(approx (- (* x y) (* (* z 9) t)) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
(*.f64 z #s(literal 9 binary64))
(/.f64 (-.f64 #s(approx (* x y) (*.f64 a #s(literal 2 binary64))) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
(-.f64 #s(approx (* x y) (*.f64 a #s(literal 2 binary64))) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
#s(approx (* x y) (*.f64 a #s(literal 2 binary64)))
Outputs
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)))
(-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
(*.f64 x y)
(*.f64 (*.f64 z #s(literal 9 binary64)) t)
(/.f64 #s(approx (- (* x y) (* (* z 9) t)) (*.f64 x y)) (*.f64 a #s(literal 2 binary64)))
#s(approx (- (* x y) (* (* z 9) t)) (*.f64 x y))
(*.f64 a #s(literal 2 binary64))
(/.f64 #s(approx (- (* x y) (* (* z 9) t)) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
#s(approx (- (* x y) (* (* z 9) t)) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
(*.f64 z #s(literal 9 binary64))
(/.f64 (-.f64 #s(approx (* x y) (*.f64 a #s(literal 2 binary64))) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
(-.f64 #s(approx (* x y) (*.f64 a #s(literal 2 binary64))) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
#s(approx (* x y) (*.f64 a #s(literal 2 binary64)))

eval3.0ms (0.2%)

Memory
8.0MiB live, 8.0MiB allocated
Compiler

Compiled 762 to 45 computations (94.1% saved)

prune6.0ms (0.4%)

Memory
13.9MiB live, 13.9MiB allocated
Pruning

9 alts after pruning (5 fresh and 4 done)

PrunedKeptTotal
New27532
Fresh000
Picked134
Done011
Total28937
Accuracy
93.5%
Counts
37 → 9
Alt Table
Click to see full alt table
StatusAccuracyProgram
93.0%
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
9.8%
(/.f64 #s(approx (- (* x y) (* (* z 9) t)) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
51.6%
(/.f64 #s(approx (- (* x y) (* (* z 9) t)) (*.f64 x y)) (*.f64 a #s(literal 2 binary64)))
13.3%
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)))
2.7%
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (*.f64 a #s(literal 2 binary64)))
7.4%
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (-.f64 #s(approx (* x y) (*.f64 a #s(literal 2 binary64))) (*.f64 (*.f64 z #s(literal 9 binary64)) t))))
8.9%
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (*.f64 (*.f64 z #s(literal 9 binary64)) t)))
3.5%
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (*.f64 z #s(literal 9 binary64))))
11.9%
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (*.f64 x y)))
Compiler

Compiled 346 to 242 computations (30.1% saved)

simplify1.0ms (0.1%)

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

Found 16 expressions of interest:

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

localize60.0ms (3.6%)

Memory
4.0MiB live, 77.6MiB allocated
Localize:

Found 16 expressions of interest:

NewMetricScoreProgram
accuracy0.20703125
(*.f64 (*.f64 z #s(literal 9 binary64)) t)
accuracy0.20703125000000003
(-.f64 #s(approx (* x y) (*.f64 a #s(literal 2 binary64))) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
accuracy55.46701121132194
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (-.f64 #s(approx (* x y) (*.f64 a #s(literal 2 binary64))) (*.f64 (*.f64 z #s(literal 9 binary64)) t))))
accuracy61.97730498856289
#s(approx (* x y) (*.f64 a #s(literal 2 binary64)))
accuracy0.0
(*.f64 z #s(literal 9 binary64))
accuracy0.20703125
(*.f64 (*.f64 z #s(literal 9 binary64)) t)
accuracy55.46701121132194
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (*.f64 (*.f64 z #s(literal 9 binary64)) t)))
accuracy62.14640121924842
#s(approx (- (* x y) (* (* z 9) t)) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
accuracy0.0
(*.f64 a #s(literal 2 binary64))
accuracy62.27710480788301
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (*.f64 a #s(literal 2 binary64)))
accuracy0.0
(*.f64 z #s(literal 9 binary64))
accuracy55.46701121132194
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (*.f64 z #s(literal 9 binary64))))
accuracy61.79447387619771
#s(approx (- (* x y) (* (* z 9) t)) (*.f64 z #s(literal 9 binary64)))
accuracy0.0
(*.f64 x y)
accuracy32.00534163330538
#s(approx (- (* x y) (* (* z 9) t)) (*.f64 x y))
accuracy55.46701121132194
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (*.f64 x y)))
Samples
24.0ms256×0valid
Compiler

Compiled 420 to 45 computations (89.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 10.0ms
ival-mult: 6.0ms (61.8% of total)
ival-div: 2.0ms (20.6% of total)
ival-sub: 1.0ms (10.3% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series27.0ms (1.6%)

Memory
-36.1MiB live, 32.1MiB allocated
Counts
15 → 27
Calls
Call 1
Inputs
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (*.f64 x y)))
#s(approx (- (* x y) (* (* z 9) t)) (*.f64 x y))
(*.f64 x y)
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (*.f64 z #s(literal 9 binary64))))
#s(approx (- (* x y) (* (* z 9) t)) (*.f64 z #s(literal 9 binary64)))
(*.f64 z #s(literal 9 binary64))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (*.f64 a #s(literal 2 binary64)))
(*.f64 a #s(literal 2 binary64))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (*.f64 (*.f64 z #s(literal 9 binary64)) t)))
#s(approx (- (* x y) (* (* z 9) t)) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
(*.f64 (*.f64 z #s(literal 9 binary64)) t)
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (-.f64 #s(approx (* x y) (*.f64 a #s(literal 2 binary64))) (*.f64 (*.f64 z #s(literal 9 binary64)) t))))
#s(approx (- (* x y) (* (* z 9) t)) (-.f64 #s(approx (* x y) (*.f64 a #s(literal 2 binary64))) (*.f64 (*.f64 z #s(literal 9 binary64)) t)))
(-.f64 #s(approx (* x y) (*.f64 a #s(literal 2 binary64))) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
#s(approx (* x y) (*.f64 a #s(literal 2 binary64)))
Outputs
(* -9/2 (/ (* t z) a))
(+ (* -9/2 (/ (* t z) a)) (* 1/2 (/ (* x y) a)))
(* -9 (* t z))
(- (* x y) (* 9 (* t z)))
(* x y)
(* 1/2 (/ (* x y) a))
(* x (+ (* -9/2 (/ (* t z) (* a x))) (* 1/2 (/ y a))))
(* x (+ y (* -9 (/ (* t z) x))))
(* -1 (* x (+ (* -1/2 (/ y a)) (* 9/2 (/ (* t z) (* a x))))))
(* -1 (* x (+ (* -1 y) (* 9 (/ (* t z) x)))))
(* y (+ (* -9/2 (/ (* t z) (* a y))) (* 1/2 (/ x a))))
(* y (+ x (* -9 (/ (* t z) y))))
(* -1 (* y (+ (* -1/2 (/ x a)) (* 9/2 (/ (* t z) (* a y))))))
(* -1 (* y (+ (* -1 x) (* 9 (/ (* t z) y)))))
(+ (* -9 (* t z)) (* x y))
(* 9 z)
(* 9 (* t z))
(* z (+ (* -9/2 (/ t a)) (* 1/2 (/ (* x y) (* a z)))))
(* z (- (/ (* x y) z) (* 9 t)))
(* -1 (* z (+ (* -1/2 (/ (* x y) (* a z))) (* 9/2 (/ t a)))))
(* -1 (* z (- (* -1 (/ (* x y) z)) (* -9 t))))
(* t (+ (* -9/2 (/ z a)) (* 1/2 (/ (* x y) (* a t)))))
(* t (- (/ (* x y) t) (* 9 z)))
(* -1 (* t (+ (* -1/2 (/ (* x y) (* a t))) (* 9/2 (/ z a)))))
(* -1 (* t (- (* -1 (/ (* x y) t)) (* -9 z))))
(* 1/2 (/ (- (* x y) (* 9 (* t z))) a))
(* 2 a)
Calls

15 calls:

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

simplify1.0ms (0%)

Memory
1.6MiB live, 1.6MiB allocated
Algorithm
egg-herbie
Counts
27 → 15
Calls
Call 1
Inputs
(* -9/2 (/ (* t z) a))
(+ (* -9/2 (/ (* t z) a)) (* 1/2 (/ (* x y) a)))
(* -9 (* t z))
(- (* x y) (* 9 (* t z)))
(* x y)
(* 1/2 (/ (* x y) a))
(* x (+ (* -9/2 (/ (* t z) (* a x))) (* 1/2 (/ y a))))
(* x (+ y (* -9 (/ (* t z) x))))
(* -1 (* x (+ (* -1/2 (/ y a)) (* 9/2 (/ (* t z) (* a x))))))
(* -1 (* x (+ (* -1 y) (* 9 (/ (* t z) x)))))
(* y (+ (* -9/2 (/ (* t z) (* a y))) (* 1/2 (/ x a))))
(* y (+ x (* -9 (/ (* t z) y))))
(* -1 (* y (+ (* -1/2 (/ x a)) (* 9/2 (/ (* t z) (* a y))))))
(* -1 (* y (+ (* -1 x) (* 9 (/ (* t z) y)))))
(+ (* -9 (* t z)) (* x y))
(* 9 z)
(* 9 (* t z))
(* z (+ (* -9/2 (/ t a)) (* 1/2 (/ (* x y) (* a z)))))
(* z (- (/ (* x y) z) (* 9 t)))
(* -1 (* z (+ (* -1/2 (/ (* x y) (* a z))) (* 9/2 (/ t a)))))
(* -1 (* z (- (* -1 (/ (* x y) z)) (* -9 t))))
(* t (+ (* -9/2 (/ z a)) (* 1/2 (/ (* x y) (* a t)))))
(* t (- (/ (* x y) t) (* 9 z)))
(* -1 (* t (+ (* -1/2 (/ (* x y) (* a t))) (* 9/2 (/ z a)))))
(* -1 (* t (- (* -1 (/ (* x y) t)) (* -9 z))))
(* 1/2 (/ (- (* x y) (* 9 (* t z))) a))
(* 2 a)
Outputs
(* -9/2 (/ (* t z) a))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (*.f64 x y)))
(+ (* -9/2 (/ (* t z) a)) (* 1/2 (/ (* x y) a)))
#s(approx (- (* x y) (* (* z 9) t)) (*.f64 x y))
(* -9 (* t z))
(*.f64 x y)
(- (* x y) (* 9 (* t z)))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (*.f64 z #s(literal 9 binary64))))
(* x y)
#s(approx (- (* x y) (* (* z 9) t)) (*.f64 z #s(literal 9 binary64)))
(* 1/2 (/ (* x y) a))
(*.f64 z #s(literal 9 binary64))
(* x (+ (* -9/2 (/ (* t z) (* a x))) (* 1/2 (/ y a))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (*.f64 a #s(literal 2 binary64)))
(* x (+ y (* -9 (/ (* t z) x))))
(*.f64 a #s(literal 2 binary64))
(* -1 (* x (+ (* -1/2 (/ y a)) (* 9/2 (/ (* t z) (* a x))))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (*.f64 (*.f64 z #s(literal 9 binary64)) t)))
(* -1 (* x (+ (* -1 y) (* 9 (/ (* t z) x)))))
#s(approx (- (* x y) (* (* z 9) t)) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
(* y (+ (* -9/2 (/ (* t z) (* a y))) (* 1/2 (/ x a))))
(*.f64 (*.f64 z #s(literal 9 binary64)) t)
(* y (+ x (* -9 (/ (* t z) y))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (-.f64 #s(approx (* x y) (*.f64 a #s(literal 2 binary64))) (*.f64 (*.f64 z #s(literal 9 binary64)) t))))
(* -1 (* y (+ (* -1/2 (/ x a)) (* 9/2 (/ (* t z) (* a y))))))
#s(approx (- (* x y) (* (* z 9) t)) (-.f64 #s(approx (* x y) (*.f64 a #s(literal 2 binary64))) (*.f64 (*.f64 z #s(literal 9 binary64)) t)))
(* -1 (* y (+ (* -1 x) (* 9 (/ (* t z) y)))))
(-.f64 #s(approx (* x y) (*.f64 a #s(literal 2 binary64))) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
(+ (* -9 (* t z)) (* x y))
#s(approx (* x y) (*.f64 a #s(literal 2 binary64)))

rewrite1.0ms (0%)

Memory
2.0MiB live, 2.0MiB allocated
Counts
15 → 15
Calls
Call 1
Inputs
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (*.f64 x y)))
#s(approx (- (* x y) (* (* z 9) t)) (*.f64 x y))
(*.f64 x y)
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (*.f64 z #s(literal 9 binary64))))
#s(approx (- (* x y) (* (* z 9) t)) (*.f64 z #s(literal 9 binary64)))
(*.f64 z #s(literal 9 binary64))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (*.f64 a #s(literal 2 binary64)))
(*.f64 a #s(literal 2 binary64))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (*.f64 (*.f64 z #s(literal 9 binary64)) t)))
#s(approx (- (* x y) (* (* z 9) t)) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
(*.f64 (*.f64 z #s(literal 9 binary64)) t)
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (-.f64 #s(approx (* x y) (*.f64 a #s(literal 2 binary64))) (*.f64 (*.f64 z #s(literal 9 binary64)) t))))
#s(approx (- (* x y) (* (* z 9) t)) (-.f64 #s(approx (* x y) (*.f64 a #s(literal 2 binary64))) (*.f64 (*.f64 z #s(literal 9 binary64)) t)))
(-.f64 #s(approx (* x y) (*.f64 a #s(literal 2 binary64))) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
#s(approx (* x y) (*.f64 a #s(literal 2 binary64)))
Outputs
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (*.f64 x y)))
#s(approx (- (* x y) (* (* z 9) t)) (*.f64 x y))
(*.f64 x y)
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (*.f64 z #s(literal 9 binary64))))
#s(approx (- (* x y) (* (* z 9) t)) (*.f64 z #s(literal 9 binary64)))
(*.f64 z #s(literal 9 binary64))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (*.f64 a #s(literal 2 binary64)))
(*.f64 a #s(literal 2 binary64))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (*.f64 (*.f64 z #s(literal 9 binary64)) t)))
#s(approx (- (* x y) (* (* z 9) t)) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
(*.f64 (*.f64 z #s(literal 9 binary64)) t)
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (-.f64 #s(approx (* x y) (*.f64 a #s(literal 2 binary64))) (*.f64 (*.f64 z #s(literal 9 binary64)) t))))
#s(approx (- (* x y) (* (* z 9) t)) (-.f64 #s(approx (* x y) (*.f64 a #s(literal 2 binary64))) (*.f64 (*.f64 z #s(literal 9 binary64)) t)))
(-.f64 #s(approx (* x y) (*.f64 a #s(literal 2 binary64))) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
#s(approx (* x y) (*.f64 a #s(literal 2 binary64)))

eval3.0ms (0.2%)

Memory
7.9MiB live, 7.9MiB allocated
Compiler

Compiled 972 to 48 computations (95.1% saved)

prune12.0ms (0.7%)

Memory
-19.7MiB live, 19.1MiB allocated
Pruning

9 alts after pruning (0 fresh and 9 done)

PrunedKeptTotal
New30030
Fresh000
Picked055
Done044
Total30939
Accuracy
93.5%
Counts
39 → 9
Alt Table
Click to see full alt table
StatusAccuracyProgram
93.0%
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
9.8%
(/.f64 #s(approx (- (* x y) (* (* z 9) t)) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
51.6%
(/.f64 #s(approx (- (* x y) (* (* z 9) t)) (*.f64 x y)) (*.f64 a #s(literal 2 binary64)))
13.3%
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)))
2.7%
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (*.f64 a #s(literal 2 binary64)))
7.4%
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (-.f64 #s(approx (* x y) (*.f64 a #s(literal 2 binary64))) (*.f64 (*.f64 z #s(literal 9 binary64)) t))))
8.9%
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (*.f64 (*.f64 z #s(literal 9 binary64)) t)))
3.5%
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (*.f64 z #s(literal 9 binary64))))
11.9%
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (*.f64 x y)))
Compiler

Compiled 435 to 189 computations (56.6% saved)

regimes44.0ms (2.7%)

Memory
16.9MiB live, 94.6MiB allocated
Counts
10 → 1
Calls
Call 1
Inputs
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (*.f64 x y)))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (*.f64 z #s(literal 9 binary64))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (*.f64 a #s(literal 2 binary64)))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (*.f64 (*.f64 z #s(literal 9 binary64)) t)))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (-.f64 #s(approx (* x y) (*.f64 a #s(literal 2 binary64))) (*.f64 (*.f64 z #s(literal 9 binary64)) t))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)))
(/.f64 #s(approx (- (* x y) (* (* z 9) t)) (*.f64 x y)) (*.f64 a #s(literal 2 binary64)))
(/.f64 #s(approx (- (* x y) (* (* z 9) t)) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
(/.f64 (-.f64 #s(approx (* x y) (*.f64 a #s(literal 2 binary64))) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
Outputs
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
Calls

11 calls:

6.0ms
(*.f64 x y)
6.0ms
z
4.0ms
(*.f64 a #s(literal 2 binary64))
4.0ms
t
3.0ms
y
Results
AccuracySegmentsBranch
93.0%1x
93.0%1y
93.0%1z
93.0%1t
93.0%1a
93.0%1(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
93.0%1(-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
93.0%1(*.f64 x y)
93.0%1(*.f64 (*.f64 z #s(literal 9 binary64)) t)
93.0%1(*.f64 z #s(literal 9 binary64))
93.0%1(*.f64 a #s(literal 2 binary64))
Compiler

Compiled 41 to 76 computations (-85.4% saved)

regimes42.0ms (2.5%)

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

11 calls:

6.0ms
(*.f64 x y)
3.0ms
(*.f64 a #s(literal 2 binary64))
3.0ms
(-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
3.0ms
x
3.0ms
(*.f64 z #s(literal 9 binary64))
Results
AccuracySegmentsBranch
55.9%3y
64.4%4z
57.2%2(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
64.4%4(*.f64 z #s(literal 9 binary64))
59.1%3x
61.9%3t
56.2%3a
55.3%2(-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
60.1%3(*.f64 x y)
70.4%3(*.f64 (*.f64 z #s(literal 9 binary64)) t)
56.2%3(*.f64 a #s(literal 2 binary64))
Compiler

Compiled 41 to 76 computations (-85.4% saved)

regimes39.0ms (2.3%)

Memory
-1.1MiB live, 76.8MiB allocated
Counts
8 → 3
Calls
Call 1
Inputs
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (*.f64 x y)))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (*.f64 z #s(literal 9 binary64))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (*.f64 a #s(literal 2 binary64)))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (*.f64 (*.f64 z #s(literal 9 binary64)) t)))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (-.f64 #s(approx (* x y) (*.f64 a #s(literal 2 binary64))) (*.f64 (*.f64 z #s(literal 9 binary64)) t))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)))
(/.f64 #s(approx (- (* x y) (* (* z 9) t)) (*.f64 x y)) (*.f64 a #s(literal 2 binary64)))
(/.f64 #s(approx (- (* x y) (* (* z 9) t)) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
Outputs
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (*.f64 (*.f64 z #s(literal 9 binary64)) t)))
(/.f64 #s(approx (- (* x y) (* (* z 9) t)) (*.f64 x y)) (*.f64 a #s(literal 2 binary64)))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (-.f64 #s(approx (* x y) (*.f64 a #s(literal 2 binary64))) (*.f64 (*.f64 z #s(literal 9 binary64)) t))))
Calls

11 calls:

7.0ms
(*.f64 z #s(literal 9 binary64))
4.0ms
(-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
3.0ms
(*.f64 a #s(literal 2 binary64))
3.0ms
(*.f64 (*.f64 z #s(literal 9 binary64)) t)
3.0ms
y
Results
AccuracySegmentsBranch
51.6%1y
51.6%1a
51.6%1(*.f64 a #s(literal 2 binary64))
53.8%2(-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
51.6%1(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
51.6%1x
51.6%1(*.f64 x y)
51.6%1t
51.6%1z
51.6%1(*.f64 z #s(literal 9 binary64))
55.7%3(*.f64 (*.f64 z #s(literal 9 binary64)) t)
Compiler

Compiled 41 to 76 computations (-85.4% saved)

regimes30.0ms (1.8%)

Memory
-22.4MiB live, 59.9MiB allocated
Counts
6 → 2
Calls
Call 1
Inputs
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (*.f64 x y)))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (*.f64 z #s(literal 9 binary64))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (*.f64 a #s(literal 2 binary64)))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (*.f64 (*.f64 z #s(literal 9 binary64)) t)))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (-.f64 #s(approx (* x y) (*.f64 a #s(literal 2 binary64))) (*.f64 (*.f64 z #s(literal 9 binary64)) t))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)))
Outputs
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (*.f64 (*.f64 z #s(literal 9 binary64)) t)))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)))
Calls

11 calls:

4.0ms
(*.f64 z #s(literal 9 binary64))
3.0ms
y
2.0ms
x
2.0ms
(*.f64 a #s(literal 2 binary64))
2.0ms
(-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
Results
AccuracySegmentsBranch
13.3%1y
13.3%1t
15.1%2x
13.3%1z
19.6%2a
13.3%1(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
13.3%1(*.f64 x y)
13.3%1(*.f64 z #s(literal 9 binary64))
19.6%2(*.f64 a #s(literal 2 binary64))
13.3%1(-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
16.6%3(*.f64 (*.f64 z #s(literal 9 binary64)) t)
Compiler

Compiled 41 to 76 computations (-85.4% saved)

regimes5.0ms (0.3%)

Memory
11.5MiB live, 11.5MiB allocated
Counts
5 → 2
Calls
Call 1
Inputs
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (*.f64 x y)))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (*.f64 z #s(literal 9 binary64))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (*.f64 a #s(literal 2 binary64)))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (*.f64 (*.f64 z #s(literal 9 binary64)) t)))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (-.f64 #s(approx (* x y) (*.f64 a #s(literal 2 binary64))) (*.f64 (*.f64 z #s(literal 9 binary64)) t))))
Outputs
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (*.f64 (*.f64 z #s(literal 9 binary64)) t)))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (*.f64 x y)))
Calls

2 calls:

2.0ms
(*.f64 a #s(literal 2 binary64))
2.0ms
a
Results
AccuracySegmentsBranch
16.2%2a
16.2%2(*.f64 a #s(literal 2 binary64))
Compiler

Compiled 4 to 12 computations (-200% saved)

regimes21.0ms (1.2%)

Memory
11.6MiB live, 50.5MiB allocated
Accuracy

Total -6.7b remaining (-11.9%)

Threshold costs -6.7b (-11.9%)

Counts
3 → 1
Calls
Call 1
Inputs
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (*.f64 x y)))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (*.f64 z #s(literal 9 binary64))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (*.f64 a #s(literal 2 binary64)))
Outputs
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (*.f64 x y)))
Calls

11 calls:

3.0ms
(*.f64 x y)
2.0ms
y
2.0ms
(-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
2.0ms
(*.f64 (*.f64 z #s(literal 9 binary64)) t)
2.0ms
(*.f64 z #s(literal 9 binary64))
Results
AccuracySegmentsBranch
11.9%1t
11.9%1z
11.9%1(*.f64 z #s(literal 9 binary64))
11.9%1y
11.9%1(-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
11.9%1(*.f64 x y)
11.9%1(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
11.9%1(*.f64 (*.f64 z #s(literal 9 binary64)) t)
11.9%1x
11.9%1a
11.9%1(*.f64 a #s(literal 2 binary64))
Compiler

Compiled 41 to 76 computations (-85.4% saved)

bsearch1.0ms (0%)

Memory
1.3MiB live, 1.3MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.369536180382045e+34
2.284201685541519e+35
0.0ms
-1.1613168116085825e+64
-4.908320072390862e+62
Compiler

Compiled 16 to 21 computations (-31.3% saved)

bsearch1.0ms (0%)

Memory
1.2MiB live, 1.2MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.9064354179955463e+303
+inf
0.0ms
-1.7290599584504565e+293
-1.1413811080859836e+270
Compiler

Compiled 16 to 21 computations (-31.3% saved)

bsearch19.0ms (1.1%)

Memory
-6.8MiB live, 32.2MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
17.0ms
-4.782262542504229e-307
1.3500033265195494e-294
Samples
11.0ms160×0valid
Compiler

Compiled 536 to 411 computations (23.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 5.0ms
ival-mult: 3.0ms (58.7% of total)
ival-sub: 1.0ms (19.6% of total)
ival-div: 1.0ms (19.6% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch1.0ms (0.1%)

Memory
2.5MiB live, 2.5MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
1.0ms
-4.782262542504229e-307
1.3500033265195494e-294
Compiler

Compiled 576 to 381 computations (33.9% saved)

simplify5.0ms (0.3%)

Memory
12.8MiB live, 12.8MiB allocated
Algorithm
egg-herbie
Calls
Call 1
Inputs
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
(if (<=.f64 (*.f64 (*.f64 z #s(literal 9 binary64)) t) #s(literal -10000000000000000213204190094543968723012578712679649467743338496 binary64)) (/.f64 (-.f64 #s(approx (* x y) (*.f64 a #s(literal 2 binary64))) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64))) (if (<=.f64 (*.f64 (*.f64 z #s(literal 9 binary64)) t) #s(literal 19999999999999998911504619740856320 binary64)) (/.f64 #s(approx (- (* x y) (* (* z 9) t)) (*.f64 x y)) (*.f64 a #s(literal 2 binary64))) (/.f64 (-.f64 #s(approx (* x y) (*.f64 a #s(literal 2 binary64))) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))))
(if (<=.f64 (*.f64 (*.f64 z #s(literal 9 binary64)) t) #s(literal -99999999999999992462348437353960485060448933957923525202610654848990348279466077292501969423268405025328970231162545648343655275306678872441733790178059478330735395060467469727994972900530063978805843953102113868000379620369084502134308975505229555772913629423636305841602377586326247764393984 binary64)) #s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (*.f64 (*.f64 z #s(literal 9 binary64)) t))) (if (<=.f64 (*.f64 (*.f64 z #s(literal 9 binary64)) t) #s(literal 2000000000000000000323530153572912876425337292463318876590990034202234998451477495730520486068427830507559547136360674832054891641135558399286783083212052137222301492244569952354513300088401054553614654135380924225322855000394102452979796521357526782898752177094584641628255914972661310937838244526555136 binary64)) (/.f64 #s(approx (- (* x y) (* (* z 9) t)) (*.f64 x y)) (*.f64 a #s(literal 2 binary64))) #s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (-.f64 #s(approx (* x y) (*.f64 a #s(literal 2 binary64))) (*.f64 (*.f64 z #s(literal 9 binary64)) t))))))
(if (<=.f64 (*.f64 a #s(literal 2 binary64)) #s(literal -5060056332683/101201126653655309176247673359458653524778324882071059178450679013715169783997673445980191850718562247593538932158405955694904368692896738433506699970369254960758712138283180682233453871046608170619883839236372534281003741712346349309051677824579778170405028256179384776166707307615251266093163754323003131653853870546747392 binary64)) #s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (*.f64 (*.f64 z #s(literal 9 binary64)) t))) #s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t))))
(if (<=.f64 (*.f64 a #s(literal 2 binary64)) #s(literal -5060056332683/101201126653655309176247673359458653524778324882071059178450679013715169783997673445980191850718562247593538932158405955694904368692896738433506699970369254960758712138283180682233453871046608170619883839236372534281003741712346349309051677824579778170405028256179384776166707307615251266093163754323003131653853870546747392 binary64)) #s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (*.f64 (*.f64 z #s(literal 9 binary64)) t))) #s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (*.f64 x y))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (*.f64 x y)))
Outputs
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
(if (<=.f64 (*.f64 (*.f64 z #s(literal 9 binary64)) t) #s(literal -10000000000000000213204190094543968723012578712679649467743338496 binary64)) (/.f64 (-.f64 #s(approx (* x y) (*.f64 a #s(literal 2 binary64))) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64))) (if (<=.f64 (*.f64 (*.f64 z #s(literal 9 binary64)) t) #s(literal 19999999999999998911504619740856320 binary64)) (/.f64 #s(approx (- (* x y) (* (* z 9) t)) (*.f64 x y)) (*.f64 a #s(literal 2 binary64))) (/.f64 (-.f64 #s(approx (* x y) (*.f64 a #s(literal 2 binary64))) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))))
(if (<=.f64 (*.f64 (*.f64 z #s(literal 9 binary64)) t) #s(literal -99999999999999992462348437353960485060448933957923525202610654848990348279466077292501969423268405025328970231162545648343655275306678872441733790178059478330735395060467469727994972900530063978805843953102113868000379620369084502134308975505229555772913629423636305841602377586326247764393984 binary64)) #s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (*.f64 (*.f64 z #s(literal 9 binary64)) t))) (if (<=.f64 (*.f64 (*.f64 z #s(literal 9 binary64)) t) #s(literal 2000000000000000000323530153572912876425337292463318876590990034202234998451477495730520486068427830507559547136360674832054891641135558399286783083212052137222301492244569952354513300088401054553614654135380924225322855000394102452979796521357526782898752177094584641628255914972661310937838244526555136 binary64)) (/.f64 #s(approx (- (* x y) (* (* z 9) t)) (*.f64 x y)) (*.f64 a #s(literal 2 binary64))) #s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (-.f64 #s(approx (* x y) (*.f64 a #s(literal 2 binary64))) (*.f64 (*.f64 z #s(literal 9 binary64)) t))))))
(if (<=.f64 (*.f64 a #s(literal 2 binary64)) #s(literal -5060056332683/101201126653655309176247673359458653524778324882071059178450679013715169783997673445980191850718562247593538932158405955694904368692896738433506699970369254960758712138283180682233453871046608170619883839236372534281003741712346349309051677824579778170405028256179384776166707307615251266093163754323003131653853870546747392 binary64)) #s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (*.f64 (*.f64 z #s(literal 9 binary64)) t))) #s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t))))
(if (<=.f64 (*.f64 a #s(literal 2 binary64)) #s(literal -5060056332683/101201126653655309176247673359458653524778324882071059178450679013715169783997673445980191850718562247593538932158405955694904368692896738433506699970369254960758712138283180682233453871046608170619883839236372534281003741712346349309051677824579778170405028256179384776166707307615251266093163754323003131653853870546747392 binary64)) #s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (*.f64 (*.f64 z #s(literal 9 binary64)) t))) #s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (*.f64 x y))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (*.f64 x y)))

soundness2.0ms (0.1%)

Memory
4.4MiB live, 4.4MiB allocated
Stop Event
done
Compiler

Compiled 326 to 48 computations (85.3% saved)

preprocess51.0ms (3.1%)

Memory
-10.3MiB live, 108.1MiB allocated
Compiler

Compiled 780 to 192 computations (75.4% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...