Diagrams.Solve.Polynomial:quartForm from diagrams-solve-0.1, B

Time bar (total: 1.5s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated

analyze0.0ms (0%)

Memory
0.6MiB live, 0.6MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.8%0.2%0%0%0%0
100%99.8%0%0.2%0%0%0%1
Compiler

Compiled 15 to 15 computations (0% saved)

sample896.0ms (58.4%)

Memory
28.3MiB live, 1 464.0MiB allocated
Samples
548.0ms8 255×0valid
0.0ms1valid
Precisions
Click to see histograms. Total time spent on operations: 334.0ms
ival-div: 138.0ms (41.3% of total)
ival-mult: 101.0ms (30.2% of total)
ival-sub: 40.0ms (12% of total)
ival-add: 36.0ms (10.8% of total)
exact: 10.0ms (3% of total)
ival-true: 6.0ms (1.8% of total)
ival-assert: 3.0ms (0.9% of total)
adjust: 0.0ms (0% of total)
Bogosity

explain128.0ms (8.4%)

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

Compiled 158 to 56 computations (64.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 21.0ms
ival-div: 8.0ms (38.6% of total)
ival-mult: 6.0ms (29% of total)
ival-sub: 2.0ms (9.7% of total)
ival-add: 2.0ms (9.7% of total)
exact: 1.0ms (4.8% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess4.0ms (0.2%)

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

Compiled 13 to 13 computations (0% saved)

eval0.0ms (0%)

Memory
0.2MiB live, 0.2MiB allocated
Compiler

Compiled 0 to 4 computations (-∞% saved)

prune0.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(+.f64 (-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64))) t)
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 #s(literal 1 binary64) #s(literal 8 binary64))
cost-diff0
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x)
cost-diff0
(-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64)))
cost-diff0
(+.f64 (-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64))) t)
Calls
Call 1
Inputs
(+.f64 (-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64))) t)
(-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64)))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x)
(/.f64 #s(literal 1 binary64) #s(literal 8 binary64))
#s(literal 1 binary64)
#s(literal 8 binary64)
x
(/.f64 (*.f64 y z) #s(literal 2 binary64))
(*.f64 y z)
y
z
#s(literal 2 binary64)
t
Outputs
(+.f64 (-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64))) t)
(-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64)))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x)
(/.f64 #s(literal 1 binary64) #s(literal 8 binary64))
#s(literal 1 binary64)
#s(literal 8 binary64)
x
(/.f64 (*.f64 y z) #s(literal 2 binary64))
(*.f64 y z)
y
z
#s(literal 2 binary64)
t

localize30.0ms (2%)

Memory
2.2MiB live, 39.7MiB allocated
Localize:

Found 4 expressions of interest:

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

Compiled 96 to 28 computations (70.8% saved)

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

series8.0ms (0.5%)

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

12 calls:

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

simplify0.0ms (0%)

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

rewrite0.0ms (0%)

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

eval1.0ms (0.1%)

Memory
2.0MiB live, 2.0MiB allocated
Compiler

Compiled 170 to 31 computations (81.8% 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
100.0%
Counts
11 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(+.f64 (-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64))) t)
29.3%
(+.f64 #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (/.f64 #s(literal 1 binary64) #s(literal 8 binary64))) t)
65.5%
(+.f64 #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x)) t)
68.7%
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64))))
Compiler

Compiled 74 to 70 computations (5.4% saved)

simplify1.0ms (0.1%)

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

Found 11 expressions of interest:

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

localize39.0ms (2.5%)

Memory
-24.0MiB live, 50.3MiB allocated
Localize:

Found 11 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(/.f64 #s(literal 1 binary64) #s(literal 8 binary64))
accuracy0.0
(+.f64 #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (/.f64 #s(literal 1 binary64) #s(literal 8 binary64))) t)
accuracy61.84912235725455
#s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)))
accuracy0.0
(/.f64 #s(literal 1 binary64) #s(literal 8 binary64))
accuracy0.0
(+.f64 #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x)) t)
accuracy0.0
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x)
accuracy29.988169567292886
#s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x))
accuracy0.0
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x)
accuracy0.0
(*.f64 y z)
accuracy0.0078125
(-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64)))
accuracy20.032614405143338
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64))))
Samples
29.0ms256×0valid
Compiler

Compiled 258 to 41 computations (84.1% saved)

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

series6.0ms (0.4%)

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

12 calls:

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

simplify1.0ms (0%)

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

rewrite1.0ms (0%)

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

eval2.0ms (0.1%)

Memory
3.7MiB live, 3.7MiB allocated
Compiler

Compiled 531 to 38 computations (92.8% saved)

prune5.0ms (0.3%)

Memory
10.6MiB live, 10.6MiB allocated
Pruning

8 alts after pruning (5 fresh and 3 done)

PrunedKeptTotal
New14519
Fresh000
Picked033
Done101
Total15823
Accuracy
100.0%
Counts
23 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
29.3%
(+.f64 #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (/.f64 #s(literal 1 binary64) #s(literal 8 binary64))) t)
65.5%
(+.f64 #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x)) t)
39.9%
(+.f64 #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) #s(approx (* (/ 1 8) x) (+.f64 #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x)) t))) t)
68.7%
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64))))
100.0%
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (-.f64 #s(approx (* (/ 1 8) x) (+.f64 #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x)) t)) (/.f64 (*.f64 y z) #s(literal 2 binary64))))
2.9%
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (/.f64 #s(literal 1 binary64) #s(literal 8 binary64))))
34.9%
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x)))
2.1%
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 y z)))
Compiler

Compiled 407 to 255 computations (37.3% saved)

simplify1.0ms (0.1%)

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

Found 18 expressions of interest:

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

localize56.0ms (3.7%)

Memory
-66.7MiB live, 65.1MiB allocated
Localize:

Found 18 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x)
accuracy29.988169567292886
#s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x))
accuracy29.988169567292886
#s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) #s(approx (* (/ 1 8) x) (+.f64 #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x)) t)))
accuracy41.634224218528495
#s(approx (* (/ 1 8) x) (+.f64 #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x)) t))
accuracy0.0
(/.f64 #s(literal 1 binary64) #s(literal 8 binary64))
accuracy0.0
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x)
accuracy20.032614405143338
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x)))
accuracy29.988169567292886
#s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x))
accuracy0.0
(/.f64 #s(literal 1 binary64) #s(literal 8 binary64))
accuracy20.032614405143338
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (/.f64 #s(literal 1 binary64) #s(literal 8 binary64))))
accuracy61.84912235725455
#s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)))
accuracy0.0
(*.f64 y z)
accuracy20.032614405143338
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 y z)))
accuracy62.59864681275299
#s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 y z))
accuracy0.0078125
(-.f64 #s(approx (* (/ 1 8) x) (+.f64 #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x)) t)) (/.f64 (*.f64 y z) #s(literal 2 binary64)))
accuracy20.032614405143338
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (-.f64 #s(approx (* (/ 1 8) x) (+.f64 #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x)) t)) (/.f64 (*.f64 y z) #s(literal 2 binary64))))
accuracy29.988169567292886
#s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x))
accuracy41.634224218528495
#s(approx (* (/ 1 8) x) (+.f64 #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x)) t))
Samples
40.0ms256×0valid
Compiler

Compiled 702 to 47 computations (93.3% saved)

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

series8.0ms (0.5%)

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

12 calls:

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

simplify1.0ms (0%)

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

rewrite1.0ms (0.1%)

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

eval7.0ms (0.4%)

Memory
-30.5MiB live, 7.3MiB allocated
Compiler

Compiled 1 542 to 57 computations (96.3% saved)

prune6.0ms (0.4%)

Memory
11.3MiB live, 11.3MiB allocated
Pruning

9 alts after pruning (1 fresh and 8 done)

PrunedKeptTotal
New37138
Fresh000
Picked055
Done033
Total37946
Accuracy
100.0%
Counts
46 → 9
Alt Table
Click to see full alt table
StatusAccuracyProgram
29.3%
(+.f64 #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (/.f64 #s(literal 1 binary64) #s(literal 8 binary64))) t)
65.5%
(+.f64 #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x)) t)
39.9%
(+.f64 #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) #s(approx (* (/ 1 8) x) (+.f64 #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x)) t))) t)
32.2%
(+.f64 #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) #s(approx (* (/ 1 8) x) #s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 y z))))) t)
68.7%
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64))))
100.0%
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (-.f64 #s(approx (* (/ 1 8) x) (+.f64 #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x)) t)) (/.f64 (*.f64 y z) #s(literal 2 binary64))))
2.9%
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (/.f64 #s(literal 1 binary64) #s(literal 8 binary64))))
34.9%
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x)))
2.1%
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 y z)))
Compiler

Compiled 283 to 175 computations (38.2% saved)

simplify1.0ms (0%)

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

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 y z)))
cost-diff0
#s(approx (* (/ 1 8) x) #s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 y z))))
cost-diff0
#s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) #s(approx (* (/ 1 8) x) #s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 y z)))))
cost-diff0
(+.f64 #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) #s(approx (* (/ 1 8) x) #s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 y z))))) t)
Calls
Call 1
Inputs
(+.f64 #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) #s(approx (* (/ 1 8) x) #s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 y z))))) t)
#s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) #s(approx (* (/ 1 8) x) #s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 y z)))))
#s(approx (* (/ 1 8) x) #s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 y z))))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 y z)))
#s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 y z))
(*.f64 y z)
y
z
t
Outputs
(+.f64 #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) #s(approx (* (/ 1 8) x) #s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 y z))))) t)
#s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) #s(approx (* (/ 1 8) x) #s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 y z)))))
#s(approx (* (/ 1 8) x) #s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 y z))))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 y z)))
#s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 y z))
(*.f64 y z)
y
z
t

localize28.0ms (1.8%)

Memory
16.7MiB live, 54.8MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy20.032614405143338
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 y z)))
accuracy29.988169567292886
#s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) #s(approx (* (/ 1 8) x) #s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 y z)))))
accuracy41.634224218528495
#s(approx (* (/ 1 8) x) #s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 y z))))
accuracy62.59864681275299
#s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 y z))
Samples
21.0ms256×0valid
Compiler

Compiled 242 to 34 computations (86% saved)

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

series7.0ms (0.5%)

Memory
-31.6MiB live, 13.3MiB allocated
Counts
5 → 23
Calls
Call 1
Inputs
(+.f64 #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) #s(approx (* (/ 1 8) x) #s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 y z))))) t)
#s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) #s(approx (* (/ 1 8) x) #s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 y z)))))
#s(approx (* (/ 1 8) x) #s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 y z))))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 y z)))
#s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 y z))
Outputs
(- t (* 1/2 (* y z)))
(- (+ t (* 1/8 x)) (* 1/2 (* y z)))
(* -1/2 (* y z))
(- (* 1/8 x) (* 1/2 (* y z)))
(* 1/8 x)
(* x (- (+ 1/8 (/ t x)) (* 1/2 (/ (* y z) x))))
(* x (+ 1/8 (* -1/2 (/ (* y z) x))))
(* -1 (* x (- (* -1 (/ (- t (* 1/2 (* y z))) x)) 1/8)))
(* -1 (* x (- (* 1/2 (/ (* y z) x)) 1/8)))
(+ t (* 1/8 x))
(+ t (+ (* -1/2 (* y z)) (* 1/8 x)))
(+ (* -1/2 (* y z)) (* 1/8 x))
(* y (- (+ (* 1/8 (/ x y)) (/ t y)) (* 1/2 z)))
(* y (- (* 1/8 (/ x y)) (* 1/2 z)))
(* -1 (* y (- (* -1 (/ (+ t (* 1/8 x)) y)) (* -1/2 z))))
(* -1 (* y (- (* -1/8 (/ x y)) (* -1/2 z))))
(* z (- (+ (* 1/8 (/ x z)) (/ t z)) (* 1/2 y)))
(* z (- (* 1/8 (/ x z)) (* 1/2 y)))
(* -1 (* z (- (* -1 (/ (+ t (* 1/8 x)) z)) (* -1/2 y))))
(* -1 (* z (- (* -1/8 (/ x z)) (* -1/2 y))))
t
(* t (- (+ 1 (* 1/8 (/ x t))) (* 1/2 (/ (* y z) t))))
(* -1 (* t (- (* -1 (/ (- (* 1/8 x) (* 1/2 (* y z))) t)) 1)))
Calls

12 calls:

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

simplify0.0ms (0%)

Memory
1.3MiB live, 1.3MiB allocated
Algorithm
egg-herbie
Counts
23 → 5
Calls
Call 1
Inputs
(- t (* 1/2 (* y z)))
(- (+ t (* 1/8 x)) (* 1/2 (* y z)))
(* -1/2 (* y z))
(- (* 1/8 x) (* 1/2 (* y z)))
(* 1/8 x)
(* x (- (+ 1/8 (/ t x)) (* 1/2 (/ (* y z) x))))
(* x (+ 1/8 (* -1/2 (/ (* y z) x))))
(* -1 (* x (- (* -1 (/ (- t (* 1/2 (* y z))) x)) 1/8)))
(* -1 (* x (- (* 1/2 (/ (* y z) x)) 1/8)))
(+ t (* 1/8 x))
(+ t (+ (* -1/2 (* y z)) (* 1/8 x)))
(+ (* -1/2 (* y z)) (* 1/8 x))
(* y (- (+ (* 1/8 (/ x y)) (/ t y)) (* 1/2 z)))
(* y (- (* 1/8 (/ x y)) (* 1/2 z)))
(* -1 (* y (- (* -1 (/ (+ t (* 1/8 x)) y)) (* -1/2 z))))
(* -1 (* y (- (* -1/8 (/ x y)) (* -1/2 z))))
(* z (- (+ (* 1/8 (/ x z)) (/ t z)) (* 1/2 y)))
(* z (- (* 1/8 (/ x z)) (* 1/2 y)))
(* -1 (* z (- (* -1 (/ (+ t (* 1/8 x)) z)) (* -1/2 y))))
(* -1 (* z (- (* -1/8 (/ x z)) (* -1/2 y))))
t
(* t (- (+ 1 (* 1/8 (/ x t))) (* 1/2 (/ (* y z) t))))
(* -1 (* t (- (* -1 (/ (- (* 1/8 x) (* 1/2 (* y z))) t)) 1)))
Outputs
(- t (* 1/2 (* y z)))
(+.f64 #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) #s(approx (* (/ 1 8) x) #s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 y z))))) t)
(- (+ t (* 1/8 x)) (* 1/2 (* y z)))
#s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) #s(approx (* (/ 1 8) x) #s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 y z)))))
(* -1/2 (* y z))
#s(approx (* (/ 1 8) x) #s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 y z))))
(- (* 1/8 x) (* 1/2 (* y z)))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 y z)))
(* 1/8 x)
#s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 y z))

rewrite0.0ms (0%)

Memory
1.2MiB live, 1.3MiB allocated
Counts
5 → 5
Calls
Call 1
Inputs
(+.f64 #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) #s(approx (* (/ 1 8) x) #s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 y z))))) t)
#s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) #s(approx (* (/ 1 8) x) #s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 y z)))))
#s(approx (* (/ 1 8) x) #s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 y z))))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 y z)))
#s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 y z))
Outputs
(+.f64 #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) #s(approx (* (/ 1 8) x) #s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 y z))))) t)
#s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) #s(approx (* (/ 1 8) x) #s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 y z)))))
#s(approx (* (/ 1 8) x) #s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 y z))))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 y z)))
#s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 y z))

eval1.0ms (0.1%)

Memory
2.9MiB live, 2.9MiB allocated
Compiler

Compiled 447 to 26 computations (94.2% saved)

prune7.0ms (0.4%)

Memory
16.3MiB live, 16.4MiB allocated
Pruning

9 alts after pruning (0 fresh and 9 done)

PrunedKeptTotal
New909
Fresh000
Picked011
Done088
Total9918
Accuracy
100.0%
Counts
18 → 9
Alt Table
Click to see full alt table
StatusAccuracyProgram
29.3%
(+.f64 #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (/.f64 #s(literal 1 binary64) #s(literal 8 binary64))) t)
65.5%
(+.f64 #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x)) t)
39.9%
(+.f64 #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) #s(approx (* (/ 1 8) x) (+.f64 #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x)) t))) t)
32.2%
(+.f64 #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) #s(approx (* (/ 1 8) x) #s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 y z))))) t)
68.7%
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64))))
100.0%
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (-.f64 #s(approx (* (/ 1 8) x) (+.f64 #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x)) t)) (/.f64 (*.f64 y z) #s(literal 2 binary64))))
2.9%
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (/.f64 #s(literal 1 binary64) #s(literal 8 binary64))))
34.9%
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x)))
2.1%
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 y z)))
Compiler

Compiled 579 to 214 computations (63% saved)

regimes38.0ms (2.5%)

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

9 calls:

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

Compiled 41 to 61 computations (-48.8% saved)

regimes31.0ms (2%)

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

9 calls:

5.0ms
(+.f64 (-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64))) t)
3.0ms
t
3.0ms
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x)
3.0ms
y
3.0ms
(-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64)))
Results
AccuracySegmentsBranch
72.9%2x
82.0%3y
84.9%3z
87.2%3t
76.9%3(+.f64 (-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64))) t)
85.9%3(-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64)))
72.9%2(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x)
89.2%3(/.f64 (*.f64 y z) #s(literal 2 binary64))
89.2%3(*.f64 y z)
Compiler

Compiled 41 to 61 computations (-48.8% saved)

regimes29.0ms (1.9%)

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

9 calls:

4.0ms
(*.f64 y z)
4.0ms
y
3.0ms
(+.f64 (-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64))) t)
3.0ms
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x)
3.0ms
(-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64)))
Results
AccuracySegmentsBranch
65.5%1x
65.5%1(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x)
65.5%1(+.f64 (-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64))) t)
65.5%1y
65.5%1z
65.5%1(-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64)))
65.5%1t
65.5%1(/.f64 (*.f64 y z) #s(literal 2 binary64))
65.5%1(*.f64 y z)
Compiler

Compiled 41 to 61 computations (-48.8% saved)

regimes23.0ms (1.5%)

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

9 calls:

3.0ms
(+.f64 (-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64))) t)
2.0ms
z
2.0ms
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x)
2.0ms
(-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64)))
2.0ms
y
Results
AccuracySegmentsBranch
53.2%3t
37.9%2y
37.7%2(/.f64 (*.f64 y z) #s(literal 2 binary64))
37.7%2(*.f64 y z)
39.8%3z
34.9%1(+.f64 (-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64))) t)
49.1%3(-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64)))
50.5%3x
50.5%3(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x)
Compiler

Compiled 41 to 61 computations (-48.8% saved)

regimes21.0ms (1.4%)

Memory
2.4MiB live, 43.2MiB allocated
Counts
4 → 1
Calls
Call 1
Inputs
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 y z)))
(+.f64 #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) #s(approx (* (/ 1 8) x) #s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 y z))))) t)
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (/.f64 #s(literal 1 binary64) #s(literal 8 binary64))))
(+.f64 #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (/.f64 #s(literal 1 binary64) #s(literal 8 binary64))) t)
Outputs
(+.f64 #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) #s(approx (* (/ 1 8) x) #s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 y z))))) t)
Calls

9 calls:

4.0ms
x
2.0ms
(-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64)))
2.0ms
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x)
2.0ms
(+.f64 (-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64))) t)
2.0ms
z
Results
AccuracySegmentsBranch
32.2%1(+.f64 (-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64))) t)
32.2%1(/.f64 (*.f64 y z) #s(literal 2 binary64))
32.2%1(*.f64 y z)
32.2%1y
32.2%1z
32.2%1(-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64)))
32.2%1x
32.2%1(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x)
32.2%1t
Compiler

Compiled 41 to 61 computations (-48.8% saved)

regimes12.0ms (0.8%)

Memory
-9.5MiB live, 29.5MiB allocated
Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

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

9 calls:

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

Compiled 41 to 61 computations (-48.8% saved)

bsearch32.0ms (2.1%)

Memory
21.0MiB live, 58.4MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
12.0ms
6.81944462254585e+110
2.4611791611347948e+113
16.0ms
-4.866506783789008e+111
-2.0317757381764166e+98
Samples
16.0ms288×0valid
Compiler

Compiled 772 to 758 computations (1.8% saved)

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

bsearch45.0ms (3%)

Memory
-26.0MiB live, 55.7MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
24.0ms
1.6589318356963135e+76
2.4509785675559378e+86
17.0ms
-2.4290317321555867e+120
-4.8735770658966254e+117
Samples
26.0ms288×0valid
Compiler

Compiled 880 to 704 computations (20% saved)

Precisions
Click to see histograms. Total time spent on operations: 10.0ms
ival-div: 4.0ms (39.6% of total)
ival-mult: 3.0ms (29.7% of total)
ival-sub: 1.0ms (9.9% of total)
ival-add: 1.0ms (9.9% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

simplify5.0ms (0.4%)

Memory
12.3MiB live, 12.3MiB allocated
Algorithm
egg-herbie
Calls
Call 1
Inputs
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (-.f64 #s(approx (* (/ 1 8) x) (+.f64 #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x)) t)) (/.f64 (*.f64 y z) #s(literal 2 binary64))))
(if (<=.f64 (*.f64 y z) #s(literal -270000000000000000894110038240151998536683494285364510899883875717947484657928571598881190509019136 binary64)) #s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64)))) (if (<=.f64 (*.f64 y z) #s(literal 850000000000000036721361105176827476973209955247975478994054739289389183407500033819654565014836380777358295040 binary64)) (+.f64 #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x)) t) #s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64))))))
(+.f64 #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x)) t)
(if (<=.f64 t #s(literal -5499999999999999648126643755465251758974662259541564812899852013727098511252035085966819804657576317516499140162355200 binary64)) (+.f64 #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (/.f64 #s(literal 1 binary64) #s(literal 8 binary64))) t) (if (<=.f64 t #s(literal 89999999999999998707545232380565715159686815017200324202130087201276892345794560 binary64)) #s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x))) (+.f64 #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (/.f64 #s(literal 1 binary64) #s(literal 8 binary64))) t)))
(+.f64 #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) #s(approx (* (/ 1 8) x) #s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 y z))))) t)
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 y z)))
Outputs
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (-.f64 #s(approx (* (/ 1 8) x) (+.f64 #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x)) t)) (/.f64 (*.f64 y z) #s(literal 2 binary64))))
(if (<=.f64 (*.f64 y z) #s(literal -270000000000000000894110038240151998536683494285364510899883875717947484657928571598881190509019136 binary64)) #s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64)))) (if (<=.f64 (*.f64 y z) #s(literal 850000000000000036721361105176827476973209955247975478994054739289389183407500033819654565014836380777358295040 binary64)) (+.f64 #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x)) t) #s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64))))))
(+.f64 #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x)) t)
(if (<=.f64 t #s(literal -5499999999999999648126643755465251758974662259541564812899852013727098511252035085966819804657576317516499140162355200 binary64)) (+.f64 #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (/.f64 #s(literal 1 binary64) #s(literal 8 binary64))) t) (if (<=.f64 t #s(literal 89999999999999998707545232380565715159686815017200324202130087201276892345794560 binary64)) #s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x))) (+.f64 #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (/.f64 #s(literal 1 binary64) #s(literal 8 binary64))) t)))
(+.f64 #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) #s(approx (* (/ 1 8) x) #s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 y z))))) t)
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 y z)))

soundness2.0ms (0.1%)

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

Compiled 296 to 47 computations (84.1% saved)

preprocess45.0ms (2.9%)

Memory
9.5MiB live, 86.2MiB allocated
Compiler

Compiled 640 to 142 computations (77.8% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...