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

analyze129.0ms (7.5%)

Memory
11.0MiB live, 161.3MiB 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)

sample871.0ms (50.6%)

Memory
63.8MiB live, 1 139.8MiB allocated
Samples
542.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 314.0ms
ival-mult: 207.0ms (65.8% of total)
ival-div: 54.0ms (17.2% of total)
ival-sub: 36.0ms (11.4% of total)
exact: 8.0ms (2.5% of total)
ival-true: 6.0ms (1.9% of total)
ival-assert: 3.0ms (1% of total)
Bogosity

explain120.0ms (7%)

Memory
-14.6MiB live, 180.4MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
170-1(2.556909229182799e-141 6.394129798410403e-211 -1.756917679634965e-124 -2.033172449755403e-191 -3.673990254377027e-296)(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
20-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/n140
(*.f64 (*.f64 z #s(literal 9 binary64)) t)overflow32
(*.f64 x y)overflow28
(-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t))overflow57
/.f64(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))u/n20
(*.f64 (*.f64 z #s(literal 9 binary64)) t)underflow25
(*.f64 x y)underflow32
(-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t))underflow5
-.f64(-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t))nan-rescue20
(*.f64 x y)overflow28
(*.f64 (*.f64 z #s(literal 9 binary64)) t)overflow32
Confusion
Predicted +Predicted -
+171
-0238
Precision
1.0
Recall
0.9444444444444444
Confusion?
Predicted +Predicted MaybePredicted -
+1701
-00238
Precision?
1.0
Recall?
0.9444444444444444
Freqs
test
numberfreq
0239
116
21
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
51.0ms512×0valid
Compiler

Compiled 146 to 56 computations (61.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 28.0ms
ival-mult: 17.0ms (60.9% of total)
ival-sub: 6.0ms (21.5% of total)
ival-div: 3.0ms (10.8% of total)
exact: 1.0ms (3.6% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess4.0ms (0.2%)

Memory
9.1MiB live, 9.1MiB 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.2MiB live, 0.2MiB allocated
Compiler

Compiled 0 to 5 computations (-∞% saved)

prune0.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
93.4%
(/.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.9MiB live, 0.9MiB 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)

localize31.0ms (1.8%)

Memory
-0.9MiB live, 44.0MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 a #s(literal 2 binary64))
accuracy0.17578125
(*.f64 (*.f64 z #s(literal 9 binary64)) t)
accuracy0.49999587166041165
(-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
accuracy3.9633669309635216
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
Samples
24.0ms256×0valid
Compiler

Compiled 88 to 28 computations (68.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 14.0ms
ival-mult: 11.0ms (77% of total)
ival-div: 2.0ms (14% of total)
ival-sub: 1.0ms (7% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series19.0ms (1.1%)

Memory
-9.8MiB live, 29.1MiB 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
3.0ms
y
@inf
((/ (- (* x y) (* (* z 9) t)) (* a 2)) (- (* x y) (* (* z 9) t)) (* x y) (* (* z 9) t) (* a 2))
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
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.9MiB live, 0.9MiB 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.4MiB live, 2.4MiB allocated
Compiler

Compiled 168 to 30 computations (82.1% saved)

prune2.0ms (0.1%)

Memory
3.5MiB live, 3.5MiB allocated
Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New7310
Fresh000
Picked011
Done000
Total7411
Accuracy
93.8%
Counts
11 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
93.4%
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
34.9%
(/.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)))
51.3%
(/.f64 #s(approx (- (* x y) (* (* z 9) t)) (*.f64 x y)) (*.f64 a #s(literal 2 binary64)))
13.8%
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)))
Compiler

Compiled 70 to 61 computations (12.9% saved)

simplify1.0ms (0%)

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

Found 12 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 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 (-.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 (-.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

localize36.0ms (2.1%)

Memory
-19.2MiB live, 57.3MiB allocated
Localize:

Found 12 expressions of interest:

NewMetricScoreProgram
accuracy0.17578125
(*.f64 (*.f64 z #s(literal 9 binary64)) t)
accuracy0.49999587166041165
(-.f64 #s(approx (* x y) (*.f64 a #s(literal 2 binary64))) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
accuracy3.9633669309635216
(/.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.79716514126168
#s(approx (* x y) (*.f64 a #s(literal 2 binary64)))
accuracy0.0
(*.f64 x y)
accuracy0.0
(*.f64 a #s(literal 2 binary64))
accuracy3.9633669309635216
(/.f64 #s(approx (- (* x y) (* (* z 9) t)) (*.f64 x y)) (*.f64 a #s(literal 2 binary64)))
accuracy31.81123123845215
#s(approx (- (* x y) (* (* z 9) t)) (*.f64 x y))
accuracy0.0
(*.f64 x y)
accuracy0.17578125
(*.f64 (*.f64 z #s(literal 9 binary64)) t)
accuracy0.49999587166041165
(-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
accuracy54.90131995258093
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)))
Samples
24.0ms256×0valid
Compiler

Compiled 254 to 41 computations (83.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 9.0ms
ival-mult: 6.0ms (65.4% of total)
ival-div: 2.0ms (21.8% of total)
ival-sub: 1.0ms (10.9% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series11.0ms (0.6%)

Memory
25.4MiB live, 25.4MiB allocated
Counts
10 → 26
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 (-.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))
(* 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
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)) (* 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)) (* 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)) (* x y))
1.0ms
y
@-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)) (* x y))
1.0ms
x
@-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)) (* x y))

simplify1.0ms (0%)

Memory
1.2MiB live, 1.2MiB allocated
Algorithm
egg-herbie
Counts
26 → 10
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))
#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 (-.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)))
(* -1 (* x (+ (* -1/2 (/ y a)) (* 9/2 (/ (* t z) (* a x))))))
(-.f64 #s(approx (* x y) (*.f64 a #s(literal 2 binary64))) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
(* -1 (* x (+ (* -1 y) (* 9 (/ (* t z) x)))))
#s(approx (* x y) (*.f64 a #s(literal 2 binary64)))

rewrite1.0ms (0%)

Memory
1.2MiB live, 1.2MiB allocated
Counts
10 → 10
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 (-.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 (-.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)))

eval5.0ms (0.3%)

Memory
-33.1MiB live, 8.8MiB allocated
Compiler

Compiled 557 to 41 computations (92.6% saved)

prune4.0ms (0.2%)

Memory
8.2MiB live, 8.2MiB allocated
Pruning

7 alts after pruning (4 fresh and 3 done)

PrunedKeptTotal
New19423
Fresh000
Picked123
Done011
Total20727
Accuracy
93.8%
Counts
27 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
93.4%
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
51.3%
(/.f64 #s(approx (- (* x y) (* (* z 9) t)) (*.f64 x y)) (*.f64 a #s(literal 2 binary64)))
13.8%
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)))
8.1%
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (-.f64 #s(approx (* x y) (*.f64 a #s(literal 2 binary64))) (*.f64 (*.f64 z #s(literal 9 binary64)) t)))
2.3%
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (*.f64 a #s(literal 2 binary64)))
9.2%
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (*.f64 (*.f64 z #s(literal 9 binary64)) t)))
11.4%
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (*.f64 x y)))
Compiler

Compiled 153 to 118 computations (22.9% saved)

simplify1.0ms (0%)

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

Found 13 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
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (-.f64 #s(approx (* x y) (*.f64 a #s(literal 2 binary64))) (*.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
(*.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 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 (*.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)) (*.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)) (-.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 (*.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)) (*.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)) (-.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

localize36.0ms (2.1%)

Memory
23.7MiB live, 61.4MiB allocated
Localize:

Found 13 expressions of interest:

NewMetricScoreProgram
accuracy0.17578125
(*.f64 (*.f64 z #s(literal 9 binary64)) t)
accuracy0.49999587166041165
(-.f64 #s(approx (* x y) (*.f64 a #s(literal 2 binary64))) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
accuracy54.90131995258093
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (-.f64 #s(approx (* x y) (*.f64 a #s(literal 2 binary64))) (*.f64 (*.f64 z #s(literal 9 binary64)) t)))
accuracy61.79716514126168
#s(approx (* x y) (*.f64 a #s(literal 2 binary64)))
accuracy0.0
(*.f64 a #s(literal 2 binary64))
accuracy62.51868300785801
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (*.f64 a #s(literal 2 binary64)))
accuracy0.0
(*.f64 z #s(literal 9 binary64))
accuracy0.17578125
(*.f64 (*.f64 z #s(literal 9 binary64)) t)
accuracy54.90131995258093
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (*.f64 (*.f64 z #s(literal 9 binary64)) t)))
accuracy61.01588256634456
#s(approx (- (* x y) (* (* z 9) t)) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
accuracy0.0
(*.f64 x y)
accuracy31.81123123845215
#s(approx (- (* x y) (* (* z 9) t)) (*.f64 x y))
accuracy54.90131995258093
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (*.f64 x y)))
Samples
25.0ms256×0valid
Compiler

Compiled 306 to 42 computations (86.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 12.0ms
ival-mult: 9.0ms (72.2% of total)
ival-div: 2.0ms (16% of total)
ival-sub: 1.0ms (8% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series142.0ms (8.2%)

Memory
-156.3MiB live, 23.1MiB allocated
Counts
12 → 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 (*.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))
#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)) (-.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 (* 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
130.0ms
y
@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) t) (* z 9) (/ (- (* x y) (* (* z 9) t)) (* a 2)) (* a 2) (/ (- (* 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) (/ (- (* x y) (* (* z 9) t)) (* a 2)) (- (* x y) (* (* z 9) t)) (* (* 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)) (* 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) t) (* z 9) (/ (- (* x y) (* (* z 9) t)) (* a 2)) (* a 2) (/ (- (* 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) (/ (- (* x y) (* (* z 9) t)) (* a 2)) (- (* x y) (* (* z 9) t)) (* (* 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)) (* 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) t) (* z 9) (/ (- (* x y) (* (* z 9) t)) (* a 2)) (* a 2) (/ (- (* x y) (* (* z 9) t)) (* a 2)) (- (* x y) (* (* z 9) t)) (* x y))

simplify1.0ms (0%)

Memory
1.2MiB live, 1.2MiB allocated
Algorithm
egg-herbie
Counts
27 → 12
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)) #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 (*.f64 z #s(literal 9 binary64)) t)))
(* x y)
#s(approx (- (* x y) (* (* z 9) t)) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
(* 1/2 (/ (* x y) a))
(*.f64 (*.f64 z #s(literal 9 binary64)) t)
(* x (+ (* -9/2 (/ (* t z) (* a x))) (* 1/2 (/ y a))))
(*.f64 z #s(literal 9 binary64))
(* x (+ y (* -9 (/ (* t z) x))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (*.f64 a #s(literal 2 binary64)))
(* -1 (* x (+ (* -1/2 (/ y a)) (* 9/2 (/ (* t z) (* a x))))))
(*.f64 a #s(literal 2 binary64))
(* -1 (* x (+ (* -1 y) (* 9 (/ (* t z) x)))))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (-.f64 #s(approx (* x y) (*.f64 a #s(literal 2 binary64))) (*.f64 (*.f64 z #s(literal 9 binary64)) t)))
(* y (+ (* -9/2 (/ (* t z) (* a y))) (* 1/2 (/ x a))))
(-.f64 #s(approx (* x y) (*.f64 a #s(literal 2 binary64))) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
(* y (+ x (* -9 (/ (* t z) y))))
#s(approx (* x y) (*.f64 a #s(literal 2 binary64)))

rewrite1.0ms (0%)

Memory
1.2MiB live, 1.2MiB allocated
Counts
12 → 12
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 (*.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))
#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)) (-.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 (*.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))
#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)) (-.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)))

eval2.0ms (0.1%)

Memory
5.0MiB live, 5.0MiB allocated
Compiler

Compiled 689 to 41 computations (94% saved)

prune5.0ms (0.3%)

Memory
9.1MiB live, 9.1MiB allocated
Pruning

8 alts after pruning (1 fresh and 7 done)

PrunedKeptTotal
New22123
Fresh000
Picked044
Done033
Total22830
Accuracy
93.8%
Counts
30 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
93.4%
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
51.3%
(/.f64 #s(approx (- (* x y) (* (* z 9) t)) (*.f64 x y)) (*.f64 a #s(literal 2 binary64)))
13.8%
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)))
8.1%
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (-.f64 #s(approx (* x y) (*.f64 a #s(literal 2 binary64))) (*.f64 (*.f64 z #s(literal 9 binary64)) t)))
3.2%
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (*.f64 z #s(literal 9 binary64)))
2.3%
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (*.f64 a #s(literal 2 binary64)))
9.2%
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (*.f64 (*.f64 z #s(literal 9 binary64)) t)))
11.4%
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (*.f64 x y)))
Compiler

Compiled 170 to 134 computations (21.2% saved)

simplify0.0ms (0%)

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

Found 2 expressions of interest:

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

localize26.0ms (1.5%)

Memory
0.4MiB live, 42.3MiB allocated
Localize:

Found 2 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 z #s(literal 9 binary64))
accuracy61.96168892860744
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (*.f64 z #s(literal 9 binary64)))
Samples
20.0ms256×0valid
Compiler

Compiled 42 to 31 computations (26.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 13.0ms
ival-mult: 10.0ms (78.4% of total)
ival-div: 2.0ms (15.7% of total)
ival-sub: 1.0ms (7.8% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series15.0ms (0.8%)

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

15 calls:

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

simplify0.0ms (0%)

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

rewrite0.0ms (0%)

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

eval1.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated
Compiler

Compiled 65 to 17 computations (73.8% saved)

prune4.0ms (0.2%)

Memory
8.5MiB live, 8.5MiB allocated
Pruning

8 alts after pruning (0 fresh and 8 done)

PrunedKeptTotal
New303
Fresh000
Picked011
Done077
Total3811
Accuracy
93.8%
Counts
11 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
93.4%
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
51.3%
(/.f64 #s(approx (- (* x y) (* (* z 9) t)) (*.f64 x y)) (*.f64 a #s(literal 2 binary64)))
13.8%
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)))
8.1%
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (-.f64 #s(approx (* x y) (*.f64 a #s(literal 2 binary64))) (*.f64 (*.f64 z #s(literal 9 binary64)) t)))
3.2%
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (*.f64 z #s(literal 9 binary64)))
2.3%
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (*.f64 a #s(literal 2 binary64)))
9.2%
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (*.f64 (*.f64 z #s(literal 9 binary64)) t)))
11.4%
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (*.f64 x y)))
Compiler

Compiled 357 to 167 computations (53.2% saved)

regimes41.0ms (2.4%)

Memory
-0.8MiB live, 77.1MiB allocated
Counts
9 → 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)) (*.f64 a #s(literal 2 binary64)))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (*.f64 z #s(literal 9 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 #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 (-.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:

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

Compiled 41 to 76 computations (-85.4% saved)

regimes39.0ms (2.3%)

Memory
-10.5MiB live, 69.9MiB 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)) (*.f64 a #s(literal 2 binary64)))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (*.f64 z #s(literal 9 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 #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 (-.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
y
4.0ms
(*.f64 x y)
3.0ms
(*.f64 a #s(literal 2 binary64))
3.0ms
a
3.0ms
x
Results
AccuracySegmentsBranch
51.3%1x
56.2%3y
61.5%3z
65.6%3t
56.4%3a
58.0%3(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
56.3%2(-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
59.0%3(*.f64 x y)
72.5%3(*.f64 (*.f64 z #s(literal 9 binary64)) t)
61.5%3(*.f64 z #s(literal 9 binary64))
56.4%3(*.f64 a #s(literal 2 binary64))
Compiler

Compiled 41 to 76 computations (-85.4% saved)

regimes30.0ms (1.8%)

Memory
20.5MiB live, 59.1MiB allocated
Counts
7 → 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)) (*.f64 a #s(literal 2 binary64)))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (*.f64 z #s(literal 9 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 #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)))
Outputs
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (-.f64 #s(approx (* x y) (*.f64 a #s(literal 2 binary64))) (*.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)) (-.f64 #s(approx (* x y) (*.f64 a #s(literal 2 binary64))) (*.f64 (*.f64 z #s(literal 9 binary64)) t)))
Calls

10 calls:

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

Compiled 40 to 71 computations (-77.5% saved)

regimes32.0ms (1.8%)

Memory
-16.0MiB live, 61.6MiB allocated
Counts
6 → 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)) (*.f64 a #s(literal 2 binary64)))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (*.f64 z #s(literal 9 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 #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)))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) #s(approx (- (* x y) (* (* z 9) t)) (*.f64 x y)))
Calls

11 calls:

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

Compiled 41 to 76 computations (-85.4% saved)

regimes5.0ms (0.3%)

Memory
13.0MiB live, 13.0MiB allocated
Counts
5 → 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)) (*.f64 a #s(literal 2 binary64)))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (*.f64 z #s(literal 9 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 #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)) (-.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)) #s(approx (- (* x y) (* (* z 9) t)) (*.f64 x y)))
Calls

2 calls:

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

Compiled 4 to 12 computations (-200% saved)

regimes5.0ms (0.3%)

Memory
11.1MiB live, 11.1MiB allocated
Counts
4 → 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)) (*.f64 a #s(literal 2 binary64)))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (*.f64 z #s(literal 9 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)))
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
15.7%2a
15.7%2(*.f64 a #s(literal 2 binary64))
Compiler

Compiled 4 to 12 computations (-200% saved)

regimes22.0ms (1.3%)

Memory
-31.7MiB live, 49.1MiB allocated
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)) (*.f64 a #s(literal 2 binary64)))
#s(approx (/ (- (* x y) (* (* z 9) t)) (* a 2)) (*.f64 z #s(literal 9 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
a
3.0ms
(-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
2.0ms
z
2.0ms
(*.f64 z #s(literal 9 binary64))
2.0ms
(*.f64 a #s(literal 2 binary64))
Results
AccuracySegmentsBranch
11.4%1(-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t))
11.4%1(*.f64 x y)
11.4%1x
11.4%1t
11.4%1(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z #s(literal 9 binary64)) t)) (*.f64 a #s(literal 2 binary64)))
11.4%1y
11.4%1(*.f64 (*.f64 z #s(literal 9 binary64)) t)
11.4%1z
11.4%1(*.f64 z #s(literal 9 binary64))
11.4%1a
11.4%1(*.f64 a #s(literal 2 binary64))
Compiler

Compiled 41 to 76 computations (-85.4% saved)

bsearch1.0ms (0%)

Memory
3.2MiB live, 3.2MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
2.048787805860475e+98
5.375690861076597e+104
0.0ms
-3.9924386722336296e+65
-3.848536181860857e+64
Compiler

Compiled 16 to 21 computations (-31.3% saved)

bsearch0.0ms (0%)

Memory
2.2MiB live, 2.2MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
9.101620518512806e+293
+inf
0.0ms
-inf
-3.5945814099347145e+292
Compiler

Compiled 16 to 21 computations (-31.3% saved)

bsearch33.0ms (1.9%)

Memory
22.7MiB live, 58.1MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
19.0ms
9.323289856471039e+150
7.343638391605342e+162
11.0ms
-3.997699751029798e-307
4.26151708457075e-308
Samples
15.0ms272×0valid
Compiler

Compiled 880 to 664 computations (24.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 8.0ms
ival-mult: 5.0ms (61.7% of total)
ival-div: 2.0ms (24.7% of total)
ival-sub: 1.0ms (12.3% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch31.0ms (1.8%)

Memory
16.2MiB live, 54.5MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
13.0ms
1.1172635271005812e-57
2.7651401350265946e-52
14.0ms
-7.166102412815906e-306
-3.997699751029798e-307
Samples
18.0ms256×0valid
Compiler

Compiled 862 to 627 computations (27.3% saved)

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

bsearch8.0ms (0.5%)

Memory
-39.9MiB live, 2.9MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
8.0ms
-3.997699751029798e-307
4.26151708457075e-308
Compiler

Compiled 408 to 273 computations (33.1% saved)

simplify5.0ms (0.3%)

Memory
12.7MiB live, 12.7MiB allocated

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...