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.8MiB live, 0.8MiB 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)

sample929.0ms (63.5%)

Memory
49.5MiB live, 1 452.1MiB allocated
Samples
570.0ms8 255×0valid
0.0ms1valid
Precisions
Click to see histograms. Total time spent on operations: 344.0ms
ival-div: 125.0ms (36.3% of total)
ival-mult: 108.0ms (31.4% of total)
ival-sub: 52.0ms (15.1% of total)
ival-add: 37.0ms (10.8% of total)
exact: 12.0ms (3.5% of total)
ival-true: 7.0ms (2% of total)
ival-assert: 4.0ms (1.2% of total)
adjust: 0.0ms (0% of total)
Bogosity

explain123.0ms (8.4%)

Memory
-1.3MiB live, 281.9MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
10-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
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
/.f64(/.f64 (*.f64 y z) #s(literal 2 binary64))o/n10
(*.f64 y z)overflow34
Confusion
Predicted +Predicted -
+10
-0255
Precision
1.0
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+100
-00255
Precision?
1.0
Recall?
1.0
Freqs
test
numberfreq
0255
11
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
45.0ms512×0valid
Compiler

Compiled 158 to 56 computations (64.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 25.0ms
ival-div: 12.0ms (48.6% of total)
ival-mult: 7.0ms (28.4% of total)
ival-sub: 2.0ms (8.1% of total)
ival-add: 2.0ms (8.1% of total)
exact: 1.0ms (4.1% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess5.0ms (0.4%)

Memory
-30.9MiB live, 8.1MiB 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.1MiB live, 0.1MiB allocated
Compiler

Compiled 0 to 4 computations (-∞% saved)

prune0.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.7%
(+.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

localize28.0ms (1.9%)

Memory
15.5MiB live, 54.2MiB 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.2023799079644656
(/.f64 (*.f64 y z) #s(literal 2 binary64))
Samples
20.0ms256×0valid
Compiler

Compiled 96 to 28 computations (70.8% saved)

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

series14.0ms (0.9%)

Memory
-21.5MiB live, 18.0MiB allocated
Counts
6 → 25
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 (*.f64 y z) #s(literal 2 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))
(* 1/2 (* y z))
(* 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
5.0ms
t
@0
((+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (- (* (/ 1 8) x) (/ (* y z) 2)) (* (/ 1 8) x) (/ 1 8) (/ (* 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) (/ (* 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) (/ (* 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) (/ (* 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) (/ (* y z) 2) (* y z))

simplify0.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated
Algorithm
egg-herbie
Counts
25 → 6
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))
(* 1/2 (* y z))
(* 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 (*.f64 y z) #s(literal 2 binary64))
(* x (- (+ 1/8 (/ t x)) (* 1/2 (/ (* y z) x))))
(*.f64 y z)

rewrite0.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated
Counts
6 → 6
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 (*.f64 y z) #s(literal 2 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 (*.f64 y z) #s(literal 2 binary64))
(*.f64 y z)

eval1.0ms (0.1%)

Memory
3.3MiB live, 3.3MiB allocated
Compiler

Compiled 202 to 32 computations (84.2% saved)

prune2.0ms (0.1%)

Memory
4.0MiB live, 4.0MiB allocated
Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New8412
Fresh000
Picked011
Done000
Total8513
Accuracy
99.7%
Counts
13 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.7%
(+.f64 (-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64))) t)
28.3%
(+.f64 #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (/.f64 #s(literal 1 binary64) #s(literal 8 binary64))) t)
63.6%
(+.f64 #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x)) t)
67.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))))
2.1%
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 y z))
Compiler

Compiled 91 to 85 computations (6.6% saved)

simplify1.0ms (0.1%)

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

Found 13 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))))
cost-diff0
(*.f64 y z)
cost-diff0
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 y z))
Calls
Call 1
Inputs
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 y z))
(*.f64 y z)
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))))
(-.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 y z))
(*.f64 y z)
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))))
(-.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

localize41.0ms (2.8%)

Memory
-8.1MiB live, 67.6MiB allocated
Localize:

Found 13 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.9296030628909
#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)
accuracy32.741043279437754
#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.2023799079644656
(/.f64 (*.f64 y z) #s(literal 2 binary64))
accuracy20.468587573294943
#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))))
accuracy0.0
(*.f64 y z)
accuracy62.633868136632834
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 y z))
Samples
26.0ms256×0valid
Compiler

Compiled 298 to 42 computations (85.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 13.0ms
ival-sub: 5.0ms (38.6% of total)
ival-div: 3.0ms (23.2% of total)
ival-mult: 3.0ms (23.2% of total)
ival-add: 1.0ms (7.7% 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
16.2MiB live, 16.2MiB allocated
Counts
11 → 25
Calls
Call 1
Inputs
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 y z))
(*.f64 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))))
(-.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 (*.f64 y z) #s(literal 2 binary64))
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)))
(* y z)
(+ (* -1/2 (* y z)) (* 1/8 x))
(* 1/2 (* 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
z
@-inf
((+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (* y z) (+ (- (* (/ 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) 2))
1.0ms
y
@-inf
((+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (* y z) (+ (- (* (/ 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) 2))
1.0ms
x
@-inf
((+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (* y z) (+ (- (* (/ 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) 2))
1.0ms
x
@inf
((+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (* y z) (+ (- (* (/ 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) 2))
1.0ms
y
@inf
((+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (* y z) (+ (- (* (/ 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) 2))

simplify1.0ms (0%)

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

rewrite1.0ms (0%)

Memory
1.3MiB live, 1.3MiB allocated
Counts
11 → 11
Calls
Call 1
Inputs
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 y z))
(*.f64 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))))
(-.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 (*.f64 y z) #s(literal 2 binary64))
Outputs
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 y z))
(*.f64 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))))
(-.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 (*.f64 y z) #s(literal 2 binary64))

eval3.0ms (0.2%)

Memory
6.5MiB live, 6.5MiB allocated
Compiler

Compiled 670 to 45 computations (93.3% saved)

prune5.0ms (0.3%)

Memory
10.5MiB live, 10.5MiB allocated
Pruning

8 alts after pruning (3 fresh and 5 done)

PrunedKeptTotal
New23326
Fresh000
Picked044
Done011
Total23831
Accuracy
99.7%
Counts
31 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.7%
(+.f64 (-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64))) t)
28.3%
(+.f64 #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (/.f64 #s(literal 1 binary64) #s(literal 8 binary64))) t)
63.6%
(+.f64 #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x)) t)
2.1%
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (/.f64 (*.f64 y z) #s(literal 2 binary64)))
3.0%
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)))
67.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))))
2.1%
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 y z))
32.5%
#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)))
Compiler

Compiled 158 to 138 computations (12.7% saved)

simplify1.0ms (0%)

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

Found 9 expressions of interest:

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

localize38.0ms (2.6%)

Memory
-79.3MiB live, 58.8MiB allocated
Localize:

Found 9 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 y z)
accuracy0.2023799079644656
(/.f64 (*.f64 y z) #s(literal 2 binary64))
accuracy62.64181833503521
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (/.f64 (*.f64 y z) #s(literal 2 binary64)))
accuracy0.0
(/.f64 #s(literal 1 binary64) #s(literal 8 binary64))
accuracy62.11005833803951
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)))
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.468587573294943
#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)))
accuracy32.741043279437754
#s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x))
Samples
30.0ms256×0valid
Compiler

Compiled 190 to 39 computations (79.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 20.0ms
ival-div: 11.0ms (56.3% of total)
ival-sub: 3.0ms (15.4% of total)
ival-mult: 3.0ms (15.4% of total)
ival-add: 1.0ms (5.1% 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
13.8MiB live, 13.8MiB allocated
Counts
8 → 25
Calls
Call 1
Inputs
#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(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (/.f64 (*.f64 y z) #s(literal 2 binary64)))
(/.f64 (*.f64 y z) #s(literal 2 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))
(* 1/2 (* y z))
(* 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) (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (/ (* 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)) t) (/ (* 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)) t) (/ (* 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)) t) (/ (* y z) 2) (* y z))
1.0ms
y
@0
((+ (- (* (/ 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)) t) (/ (* y z) 2) (* y z))

simplify0.0ms (0%)

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

rewrite0.0ms (0%)

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

eval2.0ms (0.1%)

Memory
4.5MiB live, 4.5MiB allocated
Compiler

Compiled 419 to 34 computations (91.9% saved)

prune7.0ms (0.4%)

Memory
-27.3MiB live, 11.7MiB allocated
Pruning

8 alts after pruning (0 fresh and 8 done)

PrunedKeptTotal
New15015
Fresh000
Picked033
Done055
Total15823
Accuracy
99.7%
Counts
23 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.7%
(+.f64 (-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64))) t)
28.3%
(+.f64 #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (/.f64 #s(literal 1 binary64) #s(literal 8 binary64))) t)
63.6%
(+.f64 #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x)) t)
2.1%
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (/.f64 (*.f64 y z) #s(literal 2 binary64)))
3.0%
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)))
67.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))))
2.1%
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 y z))
32.5%
#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)))
Compiler

Compiled 316 to 169 computations (46.5% saved)

regimes30.0ms (2%)

Memory
25.0MiB live, 64.0MiB allocated
Counts
8 → 1
Calls
Call 1
Inputs
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 y z))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (/.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)))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (/.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))))
(+.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)
Calls

9 calls:

4.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
z
3.0ms
x
Results
AccuracySegmentsBranch
99.7%1x
99.7%1y
99.7%1z
99.7%1t
99.7%1(+.f64 (-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64))) t)
99.7%1(-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64)))
99.7%1(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x)
99.7%1(/.f64 (*.f64 y z) #s(literal 2 binary64))
99.7%1(*.f64 y z)
Compiler

Compiled 41 to 61 computations (-48.8% saved)

regimes29.0ms (2%)

Memory
-19.0MiB live, 61.4MiB allocated
Counts
7 → 3
Calls
Call 1
Inputs
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 y z))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (/.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)))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (/.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))))
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:

4.0ms
(/.f64 (*.f64 y z) #s(literal 2 binary64))
3.0ms
z
3.0ms
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x)
3.0ms
t
3.0ms
y
Results
AccuracySegmentsBranch
70.9%2x
83.4%3y
83.7%3z
81.5%3t
76.2%3(+.f64 (-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64))) t)
87.1%3(-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64)))
70.9%2(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x)
91.3%3(/.f64 (*.f64 y z) #s(literal 2 binary64))
91.3%3(*.f64 y z)
Compiler

Compiled 41 to 61 computations (-48.8% saved)

regimes26.0ms (1.8%)

Memory
-8.5MiB live, 70.3MiB allocated
Counts
6 → 1
Calls
Call 1
Inputs
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 y z))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (/.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)))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (/.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)
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
z
3.0ms
x
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
y
3.0ms
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x)
Results
AccuracySegmentsBranch
63.6%1x
63.6%1(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x)
63.6%1(+.f64 (-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64))) t)
63.6%1t
63.6%1y
63.6%1z
63.6%1(-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64)))
63.6%1(/.f64 (*.f64 y z) #s(literal 2 binary64))
63.6%1(*.f64 y z)
Compiler

Compiled 41 to 61 computations (-48.8% saved)

regimes22.0ms (1.5%)

Memory
9.3MiB live, 48.1MiB allocated
Counts
5 → 3
Calls
Call 1
Inputs
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 y z))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (/.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)))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (/.f64 (*.f64 y z) #s(literal 2 binary64)))
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
x
2.0ms
z
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
y
Results
AccuracySegmentsBranch
38.1%3y
51.1%3t
50.4%3x
35.3%2z
35.9%3(+.f64 (-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64))) t)
46.5%3(-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64)))
50.4%3(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x)
39.6%5(/.f64 (*.f64 y z) #s(literal 2 binary64))
39.6%5(*.f64 y z)
Compiler

Compiled 41 to 61 computations (-48.8% saved)

regimes19.0ms (1.3%)

Memory
-2.0MiB live, 38.6MiB allocated
Counts
3 → 1
Calls
Call 1
Inputs
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 y z))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (/.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)) (/.f64 #s(literal 1 binary64) #s(literal 8 binary64))) t)
Calls

9 calls:

4.0ms
(*.f64 y 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
(+.f64 (-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64))) t)
2.0ms
x
Results
AccuracySegmentsBranch
28.3%1(+.f64 (-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64))) t)
28.3%1(/.f64 (*.f64 y z) #s(literal 2 binary64))
28.3%1(*.f64 y z)
28.3%1z
28.3%1y
28.3%1(-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64)))
28.3%1x
28.3%1(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x)
28.3%1t
Compiler

Compiled 41 to 61 computations (-48.8% saved)

regimes14.0ms (1%)

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

9 calls:

2.0ms
y
2.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 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64)))
1.0ms
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x)
1.0ms
z
Results
AccuracySegmentsBranch
3.0%1(-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64)))
3.0%1y
3.0%1z
3.0%1(+.f64 (-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64))) t)
3.0%1x
3.0%1(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x)
3.0%1(/.f64 (*.f64 y z) #s(literal 2 binary64))
3.0%1(*.f64 y z)
3.0%1t
Compiler

Compiled 41 to 61 computations (-48.8% saved)

regimes11.0ms (0.8%)

Memory
28.4MiB live, 28.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) (*.f64 y z))
Outputs
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 y z))
Calls

9 calls:

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 #s(literal 1 binary64) #s(literal 8 binary64)) x)
1.0ms
(*.f64 y z)
1.0ms
t
Results
AccuracySegmentsBranch
2.1%1y
2.1%1t
2.1%1x
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%1(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x)
2.1%1(/.f64 (*.f64 y z) #s(literal 2 binary64))
2.1%1(*.f64 y z)
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%1z
Compiler

Compiled 41 to 61 computations (-48.8% saved)

bsearch24.0ms (1.6%)

Memory
-5.0MiB live, 34.2MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
11.0ms
1.1597603418965404e+31
2.776675052085031e+32
10.0ms
-4.59392597396175e+28
-4.1574295269883346e+27
Samples
13.0ms208×0valid
Compiler

Compiled 562 to 553 computations (1.6% saved)

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

bsearch19.0ms (1.3%)

Memory
-16.9MiB live, 20.9MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
5.0ms
3.7776831764161228e+25
5.2006741051173885e+25
12.0ms
-6.66401885504075e+66
-1.830129150515584e+66
Samples
12.0ms128×0valid
Compiler

Compiled 400 to 324 computations (19% saved)

Precisions
Click to see histograms. Total time spent on operations: 8.0ms
ival-div: 5.0ms (61.2% of total)
ival-mult: 2.0ms (24.5% of total)
ival-sub: 1.0ms (12.2% of total)
ival-add: 1.0ms (12.2% 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.3%)

Memory
9.2MiB live, 9.2MiB 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)
(if (<=.f64 (*.f64 y z) #s(literal -37999999999999998855659651072 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 79999999999999997087170359721984 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 -2499999999999999956841939459796399579309945718895233069644286787584 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 40000000000000003623878656 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)) (/.f64 #s(literal 1 binary64) #s(literal 8 binary64))) t)
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.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)
(if (<=.f64 (*.f64 y z) #s(literal -37999999999999998855659651072 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 79999999999999997087170359721984 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 -2499999999999999956841939459796399579309945718895233069644286787584 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 40000000000000003623878656 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)) (/.f64 #s(literal 1 binary64) #s(literal 8 binary64))) t)
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 y z))

soundness2.0ms (0.1%)

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

Compiled 237 to 42 computations (82.3% saved)

preprocess49.0ms (3.3%)

Memory
-4.7MiB live, 71.6MiB allocated
Compiler

Compiled 522 to 132 computations (74.7% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...