Numeric.SpecFunctions:invIncompleteBetaWorker from math-functions-0.1.5.2, C

Time bar (total: 1.6s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated

analyze155.0ms (9.4%)

Memory
6.1MiB live, 248.1MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.8%0.2%0%0%0%0
0%0%99.8%0.2%0%0%0%1
0%0%99.8%0.2%0%0%0%2
0%0%99.8%0.2%0%0%0%3
0%0%99.8%0.2%0%0%0%4
0%0%99.8%0.2%0%0%0%5
0%0%99.8%0.2%0%0%0%6
0%0%99.8%0.2%0%0%0%7
50%49.9%49.9%0.2%0%0%0%8
50%49.9%49.9%0.2%0%0%0%9
50%49.9%49.9%0.2%0%0%0%10
50%49.9%49.9%0.2%0%0%0%11
75%74.9%25%0.2%0%0%0%12
Compiler

Compiled 13 to 12 computations (7.7% saved)

sample1.1s (63.8%)

Memory
-156.6MiB live, 1 384.7MiB allocated
Samples
745.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 287.0ms
ival-div: 132.0ms (46% of total)
ival-sub: 85.0ms (29.6% of total)
ival-mult: 55.0ms (19.2% of total)
ival-true: 6.0ms (2.1% of total)
exact: 5.0ms (1.7% of total)
ival-assert: 3.0ms (1% of total)
Bogosity

explain91.0ms (5.5%)

Memory
4.4MiB live, 215.8MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
150-1(2.6914940675912294e+140 -7.375994224236342e-51 7.919521581914955e+261 -4.7313444837583006e-86)(*.f64 x (-.f64 (/.f64 y z) (/.f64 t (-.f64 #s(literal 1 binary64) z))))
00-0-(-.f64 #s(literal 1 binary64) z)
00-0-#s(literal 1 binary64)
00-0-t
00-0-z
00-0-(/.f64 y z)
00-0-(-.f64 (/.f64 y z) (/.f64 t (-.f64 #s(literal 1 binary64) z)))
00-0-y
00-0-(/.f64 t (-.f64 #s(literal 1 binary64) z))
00-0-x
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
*.f64(*.f64 x (-.f64 (/.f64 y z) (/.f64 t (-.f64 #s(literal 1 binary64) z))))n*o110
*.f64(*.f64 x (-.f64 (/.f64 y z) (/.f64 t (-.f64 #s(literal 1 binary64) z))))n*u30
Confusion
Predicted +Predicted -
+141
-0241
Precision
1.0
Recall
0.9333333333333333
Confusion?
Predicted +Predicted MaybePredicted -
+1401
-00241
Precision?
1.0
Recall?
0.9333333333333333
Freqs
test
numberfreq
0242
114
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
37.0ms512×0valid
Compiler

Compiled 123 to 44 computations (64.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 16.0ms
ival-div: 7.0ms (43.2% of total)
ival-sub: 5.0ms (30.9% of total)
ival-mult: 3.0ms (18.5% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess4.0ms (0.2%)

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

Compiled 11 to 10 computations (9.1% 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
94.5%
(*.f64 x (-.f64 (/.f64 y z) (/.f64 t (-.f64 #s(literal 1 binary64) z))))
Compiler

Compiled 11 to 10 computations (9.1% saved)

simplify0.0ms (0%)

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

Found 4 expressions of interest:

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

localize24.0ms (1.4%)

Memory
-8.0MiB live, 30.6MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(-.f64 #s(literal 1 binary64) z)
accuracy0.00390625
(-.f64 (/.f64 y z) (/.f64 t (-.f64 #s(literal 1 binary64) z)))
accuracy0.01171875
(/.f64 t (-.f64 #s(literal 1 binary64) z))
accuracy3.5413940607684142
(*.f64 x (-.f64 (/.f64 y z) (/.f64 t (-.f64 #s(literal 1 binary64) z))))
Samples
18.0ms256×0valid
Compiler

Compiled 74 to 22 computations (70.3% saved)

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

series16.0ms (1%)

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

12 calls:

TimeVariablePointExpression
3.0ms
z
@inf
((* x (- (/ y z) (/ t (- 1 z)))) (- (/ y z) (/ t (- 1 z))) (/ y z) (/ t (- 1 z)) (- 1 z))
2.0ms
t
@inf
((* x (- (/ y z) (/ t (- 1 z)))) (- (/ y z) (/ t (- 1 z))) (/ y z) (/ t (- 1 z)) (- 1 z))
2.0ms
y
@-inf
((* x (- (/ y z) (/ t (- 1 z)))) (- (/ y z) (/ t (- 1 z))) (/ y z) (/ t (- 1 z)) (- 1 z))
1.0ms
x
@0
((* x (- (/ y z) (/ t (- 1 z)))) (- (/ y z) (/ t (- 1 z))) (/ y z) (/ t (- 1 z)) (- 1 z))
1.0ms
z
@-inf
((* x (- (/ y z) (/ t (- 1 z)))) (- (/ y z) (/ t (- 1 z))) (/ y z) (/ t (- 1 z)) (- 1 z))

simplify1.0ms (0%)

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

rewrite0.0ms (0%)

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

eval1.0ms (0.1%)

Memory
1.8MiB live, 1.8MiB allocated
Compiler

Compiled 146 to 23 computations (84.2% saved)

prune2.0ms (0.1%)

Memory
4.1MiB live, 4.1MiB allocated
Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New6410
Fresh000
Picked011
Done000
Total6511
Accuracy
94.5%
Counts
11 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
94.5%
(*.f64 x (-.f64 (/.f64 y z) (/.f64 t (-.f64 #s(literal 1 binary64) z))))
11.2%
(*.f64 x #s(approx (- (/ y z) (/ t (- 1 z))) (/.f64 t (-.f64 #s(literal 1 binary64) z))))
3.7%
(*.f64 x #s(approx (- (/ y z) (/ t (- 1 z))) (-.f64 #s(literal 1 binary64) z)))
11.6%
#s(approx (* x (- (/ y z) (/ t (- 1 z)))) (/.f64 y z))
10.5%
#s(approx (* x (- (/ y z) (/ t (- 1 z)))) (-.f64 (/.f64 y z) (/.f64 t (-.f64 #s(literal 1 binary64) z))))
Compiler

Compiled 79 to 65 computations (17.7% saved)

simplify1.0ms (0%)

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

Found 13 expressions of interest:

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

localize31.0ms (1.9%)

Memory
5.6MiB live, 43.6MiB allocated
Localize:

Found 13 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(-.f64 #s(literal 1 binary64) z)
accuracy0.01171875
(/.f64 t (-.f64 #s(literal 1 binary64) z))
accuracy3.5413940607684142
(*.f64 x #s(approx (- (/ y z) (/ t (- 1 z))) (/.f64 t (-.f64 #s(literal 1 binary64) z))))
accuracy59.51973551521784
#s(approx (- (/ y z) (/ t (- 1 z))) (/.f64 t (-.f64 #s(literal 1 binary64) z)))
accuracy0.0
(-.f64 #s(literal 1 binary64) z)
accuracy3.5413940607684142
(*.f64 x #s(approx (- (/ y z) (/ t (- 1 z))) (-.f64 #s(literal 1 binary64) z)))
accuracy62.128552509909184
#s(approx (- (/ y z) (/ t (- 1 z))) (-.f64 #s(literal 1 binary64) z))
accuracy0.0
(/.f64 y z)
accuracy56.58079187971407
#s(approx (* x (- (/ y z) (/ t (- 1 z)))) (/.f64 y z))
accuracy0.0
(-.f64 #s(literal 1 binary64) z)
accuracy0.00390625
(-.f64 (/.f64 y z) (/.f64 t (-.f64 #s(literal 1 binary64) z)))
accuracy0.01171875
(/.f64 t (-.f64 #s(literal 1 binary64) z))
accuracy57.28946854192188
#s(approx (* x (- (/ y z) (/ t (- 1 z)))) (-.f64 (/.f64 y z) (/.f64 t (-.f64 #s(literal 1 binary64) z))))
Samples
22.0ms256×0valid
Compiler

Compiled 254 to 33 computations (87% saved)

Precisions
Click to see histograms. Total time spent on operations: 10.0ms
ival-div: 4.0ms (41.9% of total)
ival-mult: 3.0ms (31.5% of total)
ival-sub: 2.0ms (21% 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
13.3MiB live, 13.3MiB allocated
Counts
10 → 55
Calls
Call 1
Inputs
#s(approx (* x (- (/ y z) (/ t (- 1 z)))) (-.f64 (/.f64 y z) (/.f64 t (-.f64 #s(literal 1 binary64) z))))
(-.f64 (/.f64 y z) (/.f64 t (-.f64 #s(literal 1 binary64) z)))
(/.f64 y z)
(/.f64 t (-.f64 #s(literal 1 binary64) z))
#s(approx (* x (- (/ y z) (/ t (- 1 z)))) (/.f64 y z))
(*.f64 x #s(approx (- (/ y z) (/ t (- 1 z))) (-.f64 #s(literal 1 binary64) z)))
#s(approx (- (/ y z) (/ t (- 1 z))) (-.f64 #s(literal 1 binary64) z))
(-.f64 #s(literal 1 binary64) z)
(*.f64 x #s(approx (- (/ y z) (/ t (- 1 z))) (/.f64 t (-.f64 #s(literal 1 binary64) z))))
#s(approx (- (/ y z) (/ t (- 1 z))) (/.f64 t (-.f64 #s(literal 1 binary64) z)))
Outputs
(* x (- (/ y z) (/ t (- 1 z))))
(* -1 (/ (* t x) (- 1 z)))
(+ (* -1 (/ (* t x) (- 1 z))) (/ (* x y) z))
(* -1 (/ t (- 1 z)))
(- (/ y z) (/ t (- 1 z)))
(/ y z)
(/ (* x y) z)
(* y (+ (* -1 (/ (* t x) (* y (- 1 z)))) (/ x z)))
(* y (+ (* -1 (/ t (* y (- 1 z)))) (/ 1 z)))
(* -1 (* y (+ (* -1 (/ x z)) (/ (* t x) (* y (- 1 z))))))
(* -1 (* y (- (/ t (* y (- 1 z))) (/ 1 z))))
(/ (+ (* -1 (* t (* x z))) (* x y)) z)
(/ (+ (* x y) (* z (+ (* -1 (* t x)) (* -1 (* t (* x z)))))) z)
(/ (+ (* x y) (* z (+ (* -1 (* t x)) (* z (+ (* -1 (* t x)) (* -1 (* t (* x z)))))))) z)
(/ (+ y (* -1 (* t z))) z)
(/ (+ y (* z (- (* -1 (* t z)) t))) z)
(/ (+ y (* z (- (* z (+ (* -1 t) (* -1 (* t z)))) t))) z)
t
(+ t (* t z))
(+ t (* z (- (* t z) (* -1 t))))
(+ t (* z (- (* z (- (* t z) (* -1 t))) (* -1 t))))
1
(+ 1 (* -1 z))
(/ (* x (- y (* -1 t))) z)
(/ (+ (* x (- y (* -1 t))) (/ (* t x) z)) z)
(/ (+ (* x (- y (* -1 t))) (+ (/ (* t x) z) (/ (* t x) (pow z 2)))) z)
(/ (+ (* x (- y (* -1 t))) (+ (/ (* t x) z) (+ (/ (* t x) (pow z 2)) (/ (* t x) (pow z 3))))) z)
(/ (- y (* -1 t)) z)
(/ (- (+ y (/ t z)) (* -1 t)) z)
(/ (- (+ y (+ (/ t z) (/ t (pow z 2)))) (* -1 t)) z)
(/ (- (+ y (+ (/ t z) (+ (/ t (pow z 2)) (/ t (pow z 3))))) (* -1 t)) z)
(* -1 (/ t z))
(/ (+ (* -1 t) (* -1 (/ t z))) z)
(/ (- (+ (* -1 t) (* -1 (/ t (pow z 2)))) (/ t z)) z)
(/ (- (+ (* -1 t) (* -1 (/ t (pow z 3)))) (+ (/ t z) (/ t (pow z 2)))) z)
(* -1 z)
(* z (- (/ 1 z) 1))
(* -1 (/ (* x (- (* -1 y) t)) z))
(* -1 (/ (+ (* -1 (/ (* t x) z)) (* x (- (* -1 y) t))) z))
(* -1 (/ (+ (* -1 (/ (+ (* t x) (/ (* t x) z)) z)) (* x (- (* -1 y) t))) z))
(* -1 (/ (+ (* -1 (/ (+ (* -1 (/ (+ (* -1 (* t x)) (* -1 (/ (* t x) z))) z)) (* t x)) z)) (* x (- (* -1 y) t))) z))
(* -1 (/ (- (* -1 y) t) z))
(* -1 (/ (- (+ (* -1 y) (* -1 (/ t z))) t) z))
(* -1 (/ (- (+ (* -1 y) (* -1 (/ (+ t (/ t z)) z))) t) z))
(* -1 (/ (- (+ (* -1 y) (* -1 (/ (+ t (* -1 (/ (+ (* -1 t) (* -1 (/ t z))) z))) z))) t) z))
(* -1 (/ (+ t (/ t z)) z))
(* -1 (/ (+ t (* -1 (/ (- (* -1 (/ t z)) t) z))) z))
(* -1 (/ (+ t (* -1 (/ (- (* -1 (/ (- (/ t z) (* -1 t)) z)) t) z))) z))
(* -1 (* z (- 1 (/ 1 z))))
(+ (* -1 (/ t (- 1 z))) (/ y z))
(/ t (- 1 z))
(* t (+ (* -1 (/ x (- 1 z))) (/ (* x y) (* t z))))
(* t (- (/ y (* t z)) (/ 1 (- 1 z))))
(* -1 (* t (+ (* -1 (/ (* x y) (* t z))) (/ x (- 1 z)))))
(* -1 (* t (+ (* -1 (/ y (* t z))) (/ 1 (- 1 z)))))
Calls

12 calls:

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

simplify1.0ms (0%)

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

rewrite1.0ms (0%)

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

eval5.0ms (0.3%)

Memory
-36.3MiB live, 5.5MiB allocated
Compiler

Compiled 502 to 33 computations (93.4% saved)

prune4.0ms (0.2%)

Memory
5.6MiB live, 5.6MiB allocated
Pruning

8 alts after pruning (3 fresh and 5 done)

PrunedKeptTotal
New19322
Fresh000
Picked044
Done011
Total19827
Accuracy
94.5%
Counts
27 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
94.5%
(*.f64 x (-.f64 (/.f64 y z) (/.f64 t (-.f64 #s(literal 1 binary64) z))))
11.2%
(*.f64 x #s(approx (- (/ y z) (/ t (- 1 z))) (/.f64 t (-.f64 #s(literal 1 binary64) z))))
3.7%
(*.f64 x #s(approx (- (/ y z) (/ t (- 1 z))) (-.f64 #s(literal 1 binary64) z)))
11.6%
#s(approx (* x (- (/ y z) (/ t (- 1 z)))) (/.f64 y z))
10.5%
#s(approx (* x (- (/ y z) (/ t (- 1 z)))) (-.f64 (/.f64 y z) (/.f64 t (-.f64 #s(literal 1 binary64) z))))
3.8%
#s(approx (* x (- (/ y z) (/ t (- 1 z)))) (-.f64 #s(approx (/ y z) (*.f64 x #s(approx (- (/ y z) (/ t (- 1 z))) (-.f64 #s(literal 1 binary64) z)))) (/.f64 t (-.f64 #s(literal 1 binary64) z))))
3.0%
#s(approx (* x (- (/ y z) (/ t (- 1 z)))) (-.f64 #s(literal 1 binary64) z))
7.9%
#s(approx (* x (- (/ y z) (/ t (- 1 z)))) #s(approx (- (/ y z) (/ t (- 1 z))) (/.f64 t (-.f64 #s(literal 1 binary64) z))))
Compiler

Compiled 158 to 111 computations (29.7% saved)

simplify1.0ms (0%)

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

Found 10 expressions of interest:

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

localize29.0ms (1.7%)

Memory
3.9MiB live, 42.0MiB allocated
Localize:

Found 10 expressions of interest:

NewMetricScoreProgram
accuracy3.5413940607684142
(*.f64 x #s(approx (- (/ y z) (/ t (- 1 z))) (-.f64 #s(literal 1 binary64) z)))
accuracy56.58079187971407
#s(approx (/ y z) (*.f64 x #s(approx (- (/ y z) (/ t (- 1 z))) (-.f64 #s(literal 1 binary64) z))))
accuracy57.28946854192188
#s(approx (* x (- (/ y z) (/ t (- 1 z)))) (-.f64 #s(approx (/ y z) (*.f64 x #s(approx (- (/ y z) (/ t (- 1 z))) (-.f64 #s(literal 1 binary64) z)))) (/.f64 t (-.f64 #s(literal 1 binary64) z))))
accuracy62.128552509909184
#s(approx (- (/ y z) (/ t (- 1 z))) (-.f64 #s(literal 1 binary64) z))
accuracy0.0
(-.f64 #s(literal 1 binary64) z)
accuracy62.10055385741793
#s(approx (* x (- (/ y z) (/ t (- 1 z)))) (-.f64 #s(literal 1 binary64) z))
accuracy0.0
(-.f64 #s(literal 1 binary64) z)
accuracy0.01171875
(/.f64 t (-.f64 #s(literal 1 binary64) z))
accuracy57.28946854192188
#s(approx (* x (- (/ y z) (/ t (- 1 z)))) #s(approx (- (/ y z) (/ t (- 1 z))) (/.f64 t (-.f64 #s(literal 1 binary64) z))))
accuracy59.51973551521784
#s(approx (- (/ y z) (/ t (- 1 z))) (/.f64 t (-.f64 #s(literal 1 binary64) z)))
Samples
20.0ms256×0valid
Compiler

Compiled 298 to 33 computations (88.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 8.0ms
ival-div: 4.0ms (51.1% of total)
ival-sub: 2.0ms (25.5% of total)
ival-mult: 2.0ms (25.5% 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
14.6MiB live, 14.6MiB allocated
Counts
10 → 55
Calls
Call 1
Inputs
#s(approx (* x (- (/ y z) (/ t (- 1 z)))) #s(approx (- (/ y z) (/ t (- 1 z))) (/.f64 t (-.f64 #s(literal 1 binary64) z))))
#s(approx (- (/ y z) (/ t (- 1 z))) (/.f64 t (-.f64 #s(literal 1 binary64) z)))
(/.f64 t (-.f64 #s(literal 1 binary64) z))
(-.f64 #s(literal 1 binary64) z)
#s(approx (* x (- (/ y z) (/ t (- 1 z)))) (-.f64 #s(literal 1 binary64) z))
#s(approx (* x (- (/ y z) (/ t (- 1 z)))) (-.f64 #s(approx (/ y z) (*.f64 x #s(approx (- (/ y z) (/ t (- 1 z))) (-.f64 #s(literal 1 binary64) z)))) (/.f64 t (-.f64 #s(literal 1 binary64) z))))
(-.f64 #s(approx (/ y z) (*.f64 x #s(approx (- (/ y z) (/ t (- 1 z))) (-.f64 #s(literal 1 binary64) z)))) (/.f64 t (-.f64 #s(literal 1 binary64) z)))
#s(approx (/ y z) (*.f64 x #s(approx (- (/ y z) (/ t (- 1 z))) (-.f64 #s(literal 1 binary64) z))))
(*.f64 x #s(approx (- (/ y z) (/ t (- 1 z))) (-.f64 #s(literal 1 binary64) z)))
#s(approx (- (/ y z) (/ t (- 1 z))) (-.f64 #s(literal 1 binary64) z))
Outputs
(* x (- (/ y z) (/ t (- 1 z))))
(* -1 (/ (* t x) (- 1 z)))
(+ (* -1 (/ (* t x) (- 1 z))) (/ (* x y) z))
(* -1 (/ t (- 1 z)))
(- (/ y z) (/ t (- 1 z)))
(/ y z)
(/ (* x y) z)
(* y (+ (* -1 (/ (* t x) (* y (- 1 z)))) (/ x z)))
(* y (+ (* -1 (/ t (* y (- 1 z)))) (/ 1 z)))
(* -1 (* y (+ (* -1 (/ x z)) (/ (* t x) (* y (- 1 z))))))
(* -1 (* y (- (/ t (* y (- 1 z))) (/ 1 z))))
(/ (+ (* -1 (* t (* x z))) (* x y)) z)
(/ (+ (* x y) (* z (+ (* -1 (* t x)) (* -1 (* t (* x z)))))) z)
(/ (+ (* x y) (* z (+ (* -1 (* t x)) (* z (+ (* -1 (* t x)) (* -1 (* t (* x z)))))))) z)
(/ (+ y (* -1 (* t z))) z)
(/ (+ y (* z (- (* -1 (* t z)) t))) z)
(/ (+ y (* z (- (* z (+ (* -1 t) (* -1 (* t z)))) t))) z)
t
(+ t (* t z))
(+ t (* z (- (* t z) (* -1 t))))
(+ t (* z (- (* z (- (* t z) (* -1 t))) (* -1 t))))
1
(+ 1 (* -1 z))
(/ (* x (- y (* -1 t))) z)
(/ (+ (* x (- y (* -1 t))) (/ (* t x) z)) z)
(/ (+ (* x (- y (* -1 t))) (+ (/ (* t x) z) (/ (* t x) (pow z 2)))) z)
(/ (+ (* x (- y (* -1 t))) (+ (/ (* t x) z) (+ (/ (* t x) (pow z 2)) (/ (* t x) (pow z 3))))) z)
(/ (- y (* -1 t)) z)
(/ (- (+ y (/ t z)) (* -1 t)) z)
(/ (- (+ y (+ (/ t z) (/ t (pow z 2)))) (* -1 t)) z)
(/ (- (+ y (+ (/ t z) (+ (/ t (pow z 2)) (/ t (pow z 3))))) (* -1 t)) z)
(* -1 (/ t z))
(/ (+ (* -1 t) (* -1 (/ t z))) z)
(/ (- (+ (* -1 t) (* -1 (/ t (pow z 2)))) (/ t z)) z)
(/ (- (+ (* -1 t) (* -1 (/ t (pow z 3)))) (+ (/ t z) (/ t (pow z 2)))) z)
(* -1 z)
(* z (- (/ 1 z) 1))
(* -1 (/ (* x (- (* -1 y) t)) z))
(* -1 (/ (+ (* -1 (/ (* t x) z)) (* x (- (* -1 y) t))) z))
(* -1 (/ (+ (* -1 (/ (+ (* t x) (/ (* t x) z)) z)) (* x (- (* -1 y) t))) z))
(* -1 (/ (+ (* -1 (/ (+ (* -1 (/ (+ (* -1 (* t x)) (* -1 (/ (* t x) z))) z)) (* t x)) z)) (* x (- (* -1 y) t))) z))
(* -1 (/ (- (* -1 y) t) z))
(* -1 (/ (- (+ (* -1 y) (* -1 (/ t z))) t) z))
(* -1 (/ (- (+ (* -1 y) (* -1 (/ (+ t (/ t z)) z))) t) z))
(* -1 (/ (- (+ (* -1 y) (* -1 (/ (+ t (* -1 (/ (+ (* -1 t) (* -1 (/ t z))) z))) z))) t) z))
(* -1 (/ (+ t (/ t z)) z))
(* -1 (/ (+ t (* -1 (/ (- (* -1 (/ t z)) t) z))) z))
(* -1 (/ (+ t (* -1 (/ (- (* -1 (/ (- (/ t z) (* -1 t)) z)) t) z))) z))
(* -1 (* z (- 1 (/ 1 z))))
(+ (* -1 (/ t (- 1 z))) (/ y z))
(/ t (- 1 z))
(* t (+ (* -1 (/ x (- 1 z))) (/ (* x y) (* t z))))
(* t (- (/ y (* t z)) (/ 1 (- 1 z))))
(* -1 (* t (+ (* -1 (/ (* x y) (* t z))) (/ x (- 1 z)))))
(* -1 (* t (+ (* -1 (/ y (* t z))) (/ 1 (- 1 z)))))
Calls

12 calls:

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

simplify1.0ms (0%)

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

rewrite1.0ms (0%)

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

eval2.0ms (0.1%)

Memory
4.2MiB live, 4.2MiB allocated
Compiler

Compiled 667 to 32 computations (95.2% saved)

prune7.0ms (0.4%)

Memory
-30.2MiB live, 8.3MiB allocated
Pruning

9 alts after pruning (1 fresh and 8 done)

PrunedKeptTotal
New20121
Fresh000
Picked033
Done055
Total20929
Accuracy
94.5%
Counts
29 → 9
Alt Table
Click to see full alt table
StatusAccuracyProgram
94.5%
(*.f64 x (-.f64 (/.f64 y z) (/.f64 t (-.f64 #s(literal 1 binary64) z))))
11.2%
(*.f64 x #s(approx (- (/ y z) (/ t (- 1 z))) (/.f64 t (-.f64 #s(literal 1 binary64) z))))
3.7%
(*.f64 x #s(approx (- (/ y z) (/ t (- 1 z))) (-.f64 #s(literal 1 binary64) z)))
11.6%
#s(approx (* x (- (/ y z) (/ t (- 1 z)))) (/.f64 y z))
10.5%
#s(approx (* x (- (/ y z) (/ t (- 1 z)))) (-.f64 (/.f64 y z) (/.f64 t (-.f64 #s(literal 1 binary64) z))))
3.8%
#s(approx (* x (- (/ y z) (/ t (- 1 z)))) (-.f64 #s(approx (/ y z) (*.f64 x #s(approx (- (/ y z) (/ t (- 1 z))) (-.f64 #s(literal 1 binary64) z)))) (/.f64 t (-.f64 #s(literal 1 binary64) z))))
3.8%
#s(approx (* x (- (/ y z) (/ t (- 1 z)))) (-.f64 #s(approx (/ y z) #s(approx (* x (- (/ y z) (/ t (- 1 z)))) (-.f64 #s(approx (/ y z) (*.f64 x #s(approx (- (/ y z) (/ t (- 1 z))) (-.f64 #s(literal 1 binary64) z)))) (/.f64 t (-.f64 #s(literal 1 binary64) z))))) (/.f64 t (-.f64 #s(literal 1 binary64) z))))
3.0%
#s(approx (* x (- (/ y z) (/ t (- 1 z)))) (-.f64 #s(literal 1 binary64) z))
7.9%
#s(approx (* x (- (/ y z) (/ t (- 1 z)))) #s(approx (- (/ y z) (/ t (- 1 z))) (/.f64 t (-.f64 #s(literal 1 binary64) z))))
Compiler

Compiled 217 to 132 computations (39.2% saved)

simplify1.0ms (0.1%)

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

Found 4 expressions of interest:

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

localize27.0ms (1.6%)

Memory
-1.3MiB live, 37.3MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy56.58079187971407
#s(approx (/ y z) #s(approx (* x (- (/ y z) (/ t (- 1 z)))) (-.f64 #s(approx (/ y z) (*.f64 x #s(approx (- (/ y z) (/ t (- 1 z))) (-.f64 #s(literal 1 binary64) z)))) (/.f64 t (-.f64 #s(literal 1 binary64) z)))))
accuracy57.28946854192188
#s(approx (* x (- (/ y z) (/ t (- 1 z)))) (-.f64 #s(approx (/ y z) (*.f64 x #s(approx (- (/ y z) (/ t (- 1 z))) (-.f64 #s(literal 1 binary64) z)))) (/.f64 t (-.f64 #s(literal 1 binary64) z))))
accuracy57.28946854192188
#s(approx (* x (- (/ y z) (/ t (- 1 z)))) (-.f64 #s(approx (/ y z) #s(approx (* x (- (/ y z) (/ t (- 1 z)))) (-.f64 #s(approx (/ y z) (*.f64 x #s(approx (- (/ y z) (/ t (- 1 z))) (-.f64 #s(literal 1 binary64) z)))) (/.f64 t (-.f64 #s(literal 1 binary64) z))))) (/.f64 t (-.f64 #s(literal 1 binary64) z))))
accuracy62.128552509909184
#s(approx (- (/ y z) (/ t (- 1 z))) (-.f64 #s(literal 1 binary64) z))
Samples
17.0ms256×0valid
Compiler

Compiled 348 to 33 computations (90.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 8.0ms
ival-div: 4.0ms (51.8% of total)
ival-sub: 2.0ms (25.9% of total)
ival-mult: 2.0ms (25.9% 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.5MiB live, 10.5MiB allocated
Counts
5 → 38
Calls
Call 1
Inputs
#s(approx (* x (- (/ y z) (/ t (- 1 z)))) (-.f64 #s(approx (/ y z) #s(approx (* x (- (/ y z) (/ t (- 1 z)))) (-.f64 #s(approx (/ y z) (*.f64 x #s(approx (- (/ y z) (/ t (- 1 z))) (-.f64 #s(literal 1 binary64) z)))) (/.f64 t (-.f64 #s(literal 1 binary64) z))))) (/.f64 t (-.f64 #s(literal 1 binary64) z))))
(-.f64 #s(approx (/ y z) #s(approx (* x (- (/ y z) (/ t (- 1 z)))) (-.f64 #s(approx (/ y z) (*.f64 x #s(approx (- (/ y z) (/ t (- 1 z))) (-.f64 #s(literal 1 binary64) z)))) (/.f64 t (-.f64 #s(literal 1 binary64) z))))) (/.f64 t (-.f64 #s(literal 1 binary64) z)))
#s(approx (/ y z) #s(approx (* x (- (/ y z) (/ t (- 1 z)))) (-.f64 #s(approx (/ y z) (*.f64 x #s(approx (- (/ y z) (/ t (- 1 z))) (-.f64 #s(literal 1 binary64) z)))) (/.f64 t (-.f64 #s(literal 1 binary64) z)))))
#s(approx (* x (- (/ y z) (/ t (- 1 z)))) (-.f64 #s(approx (/ y z) (*.f64 x #s(approx (- (/ y z) (/ t (- 1 z))) (-.f64 #s(literal 1 binary64) z)))) (/.f64 t (-.f64 #s(literal 1 binary64) z))))
#s(approx (- (/ y z) (/ t (- 1 z))) (-.f64 #s(literal 1 binary64) z))
Outputs
(* x (- (/ y z) (/ t (- 1 z))))
(* -1 (/ (* t x) (- 1 z)))
(+ (* -1 (/ (* t x) (- 1 z))) (/ (* x y) z))
(* -1 (/ t (- 1 z)))
(- (/ y z) (/ t (- 1 z)))
(/ y z)
(/ (* x y) z)
(* y (+ (* -1 (/ (* t x) (* y (- 1 z)))) (/ x z)))
(* y (+ (* -1 (/ t (* y (- 1 z)))) (/ 1 z)))
(* -1 (* y (+ (* -1 (/ x z)) (/ (* t x) (* y (- 1 z))))))
(* -1 (* y (- (/ t (* y (- 1 z))) (/ 1 z))))
(/ (+ (* -1 (* t (* x z))) (* x y)) z)
(/ (+ (* x y) (* z (+ (* -1 (* t x)) (* -1 (* t (* x z)))))) z)
(/ (+ (* x y) (* z (+ (* -1 (* t x)) (* z (+ (* -1 (* t x)) (* -1 (* t (* x z)))))))) z)
(/ (+ y (* -1 (* t z))) z)
(/ (+ y (* z (- (* -1 (* t z)) t))) z)
(/ (+ y (* z (- (* z (+ (* -1 t) (* -1 (* t z)))) t))) z)
(/ (* x (- y (* -1 t))) z)
(/ (+ (* x (- y (* -1 t))) (/ (* t x) z)) z)
(/ (+ (* x (- y (* -1 t))) (+ (/ (* t x) z) (/ (* t x) (pow z 2)))) z)
(/ (+ (* x (- y (* -1 t))) (+ (/ (* t x) z) (+ (/ (* t x) (pow z 2)) (/ (* t x) (pow z 3))))) z)
(/ (- y (* -1 t)) z)
(/ (- (+ y (/ t z)) (* -1 t)) z)
(/ (- (+ y (+ (/ t z) (/ t (pow z 2)))) (* -1 t)) z)
(/ (- (+ y (+ (/ t z) (+ (/ t (pow z 2)) (/ t (pow z 3))))) (* -1 t)) z)
(* -1 (/ (* x (- (* -1 y) t)) z))
(* -1 (/ (+ (* -1 (/ (* t x) z)) (* x (- (* -1 y) t))) z))
(* -1 (/ (+ (* -1 (/ (+ (* t x) (/ (* t x) z)) z)) (* x (- (* -1 y) t))) z))
(* -1 (/ (+ (* -1 (/ (+ (* -1 (/ (+ (* -1 (* t x)) (* -1 (/ (* t x) z))) z)) (* t x)) z)) (* x (- (* -1 y) t))) z))
(* -1 (/ (- (* -1 y) t) z))
(* -1 (/ (- (+ (* -1 y) (* -1 (/ t z))) t) z))
(* -1 (/ (- (+ (* -1 y) (* -1 (/ (+ t (/ t z)) z))) t) z))
(* -1 (/ (- (+ (* -1 y) (* -1 (/ (+ t (* -1 (/ (+ (* -1 t) (* -1 (/ t z))) z))) z))) t) z))
(+ (* -1 (/ t (- 1 z))) (/ y z))
(* t (+ (* -1 (/ x (- 1 z))) (/ (* x y) (* t z))))
(* t (- (/ y (* t z)) (/ 1 (- 1 z))))
(* -1 (* t (+ (* -1 (/ (* x y) (* t z))) (/ x (- 1 z)))))
(* -1 (* t (+ (* -1 (/ y (* t z))) (/ 1 (- 1 z)))))
Calls

12 calls:

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

simplify1.0ms (0%)

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

rewrite0.0ms (0%)

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

eval1.0ms (0.1%)

Memory
2.2MiB live, 2.2MiB allocated
Compiler

Compiled 513 to 27 computations (94.7% saved)

prune5.0ms (0.3%)

Memory
8.1MiB live, 8.1MiB allocated
Pruning

9 alts after pruning (0 fresh and 9 done)

PrunedKeptTotal
New909
Fresh000
Picked011
Done088
Total9918
Accuracy
94.5%
Counts
18 → 9
Alt Table
Click to see full alt table
StatusAccuracyProgram
94.5%
(*.f64 x (-.f64 (/.f64 y z) (/.f64 t (-.f64 #s(literal 1 binary64) z))))
11.2%
(*.f64 x #s(approx (- (/ y z) (/ t (- 1 z))) (/.f64 t (-.f64 #s(literal 1 binary64) z))))
3.7%
(*.f64 x #s(approx (- (/ y z) (/ t (- 1 z))) (-.f64 #s(literal 1 binary64) z)))
11.6%
#s(approx (* x (- (/ y z) (/ t (- 1 z)))) (/.f64 y z))
10.5%
#s(approx (* x (- (/ y z) (/ t (- 1 z)))) (-.f64 (/.f64 y z) (/.f64 t (-.f64 #s(literal 1 binary64) z))))
3.8%
#s(approx (* x (- (/ y z) (/ t (- 1 z)))) (-.f64 #s(approx (/ y z) (*.f64 x #s(approx (- (/ y z) (/ t (- 1 z))) (-.f64 #s(literal 1 binary64) z)))) (/.f64 t (-.f64 #s(literal 1 binary64) z))))
3.8%
#s(approx (* x (- (/ y z) (/ t (- 1 z)))) (-.f64 #s(approx (/ y z) #s(approx (* x (- (/ y z) (/ t (- 1 z)))) (-.f64 #s(approx (/ y z) (*.f64 x #s(approx (- (/ y z) (/ t (- 1 z))) (-.f64 #s(literal 1 binary64) z)))) (/.f64 t (-.f64 #s(literal 1 binary64) z))))) (/.f64 t (-.f64 #s(literal 1 binary64) z))))
3.0%
#s(approx (* x (- (/ y z) (/ t (- 1 z)))) (-.f64 #s(literal 1 binary64) z))
7.9%
#s(approx (* x (- (/ y z) (/ t (- 1 z)))) #s(approx (- (/ y z) (/ t (- 1 z))) (/.f64 t (-.f64 #s(literal 1 binary64) z))))
Compiler

Compiled 434 to 162 computations (62.7% saved)

regimes25.0ms (1.5%)

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

6 calls:

7.0ms
t
4.0ms
(-.f64 (/.f64 y z) (/.f64 t (-.f64 #s(literal 1 binary64) z)))
4.0ms
z
3.0ms
y
3.0ms
x
Results
AccuracySegmentsBranch
94.5%1x
94.5%1y
94.5%1z
94.5%1t
94.5%1(*.f64 x (-.f64 (/.f64 y z) (/.f64 t (-.f64 #s(literal 1 binary64) z))))
94.5%1(-.f64 (/.f64 y z) (/.f64 t (-.f64 #s(literal 1 binary64) z)))
Compiler

Compiled 24 to 35 computations (-45.8% saved)

regimes20.0ms (1.2%)

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

6 calls:

4.0ms
t
3.0ms
y
3.0ms
z
3.0ms
x
3.0ms
(-.f64 (/.f64 y z) (/.f64 t (-.f64 #s(literal 1 binary64) z)))
Results
AccuracySegmentsBranch
14.9%3(*.f64 x (-.f64 (/.f64 y z) (/.f64 t (-.f64 #s(literal 1 binary64) z))))
14.3%2y
11.6%1t
15.0%3(-.f64 (/.f64 y z) (/.f64 t (-.f64 #s(literal 1 binary64) z)))
15.6%2x
11.6%1z
Compiler

Compiled 24 to 35 computations (-45.8% saved)

regimes3.0ms (0.2%)

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

1 calls:

3.0ms
x
Results
AccuracySegmentsBranch
15.0%2x
Compiler

Compiled 1 to 4 computations (-300% saved)

regimes11.0ms (0.7%)

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

5 calls:

2.0ms
x
2.0ms
y
2.0ms
(-.f64 (/.f64 y z) (/.f64 t (-.f64 #s(literal 1 binary64) z)))
2.0ms
z
2.0ms
(*.f64 x (-.f64 (/.f64 y z) (/.f64 t (-.f64 #s(literal 1 binary64) z))))
Results
AccuracySegmentsBranch
11.6%1z
11.6%1(*.f64 x (-.f64 (/.f64 y z) (/.f64 t (-.f64 #s(literal 1 binary64) z))))
11.6%1(-.f64 (/.f64 y z) (/.f64 t (-.f64 #s(literal 1 binary64) z)))
11.6%1y
11.6%1x
Compiler

Compiled 23 to 31 computations (-34.8% saved)

regimes10.0ms (0.6%)

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

6 calls:

3.0ms
z
1.0ms
(-.f64 (/.f64 y z) (/.f64 t (-.f64 #s(literal 1 binary64) z)))
1.0ms
x
1.0ms
y
1.0ms
t
Results
AccuracySegmentsBranch
3.7%1(*.f64 x (-.f64 (/.f64 y z) (/.f64 t (-.f64 #s(literal 1 binary64) z))))
3.7%1(-.f64 (/.f64 y z) (/.f64 t (-.f64 #s(literal 1 binary64) z)))
3.7%1y
3.7%1t
3.7%1x
3.7%1z
Compiler

Compiled 24 to 35 computations (-45.8% saved)

regimes7.0ms (0.4%)

Memory
17.0MiB live, 17.0MiB allocated
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

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

6 calls:

1.0ms
(-.f64 (/.f64 y z) (/.f64 t (-.f64 #s(literal 1 binary64) z)))
1.0ms
(*.f64 x (-.f64 (/.f64 y z) (/.f64 t (-.f64 #s(literal 1 binary64) z))))
1.0ms
x
1.0ms
z
1.0ms
y
Results
AccuracySegmentsBranch
3.0%1z
3.0%1t
3.0%1y
3.0%1x
3.0%1(*.f64 x (-.f64 (/.f64 y z) (/.f64 t (-.f64 #s(literal 1 binary64) z))))
3.0%1(-.f64 (/.f64 y z) (/.f64 t (-.f64 #s(literal 1 binary64) z)))
Compiler

Compiled 24 to 35 computations (-45.8% saved)

bsearch16.0ms (1%)

Memory
-17.8MiB live, 21.1MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
14.0ms
4.380994703754618e-225
2.0948771284352972e-219
Samples
8.0ms144×0valid
Compiler

Compiled 356 to 305 computations (14.3% saved)

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

bsearch16.0ms (1%)

Memory
23.6MiB live, 23.6MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
14.0ms
9.83765538776521e-206
1.6222450213219334e-191
Samples
9.0ms160×0valid
Compiler

Compiled 334 to 297 computations (11.1% saved)

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

simplify7.0ms (0.4%)

Memory
-31.7MiB live, 9.3MiB allocated
Algorithm
egg-herbie
Calls
Call 1
Inputs
(*.f64 x (-.f64 (/.f64 y z) (/.f64 t (-.f64 #s(literal 1 binary64) z))))
(if (<=.f64 x #s(literal 203690373709853/99361157907245371849534687261600163536440705095468583112899330433667260971928120725176218165033374588831214764616388685194981122823348121052434385602635592909085118465334393955216978280422300468816831948397854000057142198644227702784 binary64)) (*.f64 x #s(approx (- (/ y z) (/ t (- 1 z))) (/.f64 t (-.f64 #s(literal 1 binary64) z)))) #s(approx (* x (- (/ y z) (/ t (- 1 z)))) (-.f64 (/.f64 y z) (/.f64 t (-.f64 #s(literal 1 binary64) z)))))
(if (<=.f64 x #s(literal 786580380785737/80263304161809898486953580976564463280492245526476651908848280381297792881730359224146523075524726123458602430056430323990164676669064390001339947061948865508349970567755807467524166227482951618519489314816 binary64)) (*.f64 x #s(approx (- (/ y z) (/ t (- 1 z))) (/.f64 t (-.f64 #s(literal 1 binary64) z)))) #s(approx (* x (- (/ y z) (/ t (- 1 z)))) (/.f64 y z)))
#s(approx (* x (- (/ y z) (/ t (- 1 z)))) (/.f64 y z))
(*.f64 x #s(approx (- (/ y z) (/ t (- 1 z))) (-.f64 #s(literal 1 binary64) z)))
#s(approx (* x (- (/ y z) (/ t (- 1 z)))) (-.f64 #s(literal 1 binary64) z))
Outputs
(*.f64 x (-.f64 (/.f64 y z) (/.f64 t (-.f64 #s(literal 1 binary64) z))))
(if (<=.f64 x #s(literal 203690373709853/99361157907245371849534687261600163536440705095468583112899330433667260971928120725176218165033374588831214764616388685194981122823348121052434385602635592909085118465334393955216978280422300468816831948397854000057142198644227702784 binary64)) (*.f64 x #s(approx (- (/ y z) (/ t (- 1 z))) (/.f64 t (-.f64 #s(literal 1 binary64) z)))) #s(approx (* x (- (/ y z) (/ t (- 1 z)))) (-.f64 (/.f64 y z) (/.f64 t (-.f64 #s(literal 1 binary64) z)))))
(if (<=.f64 x #s(literal 786580380785737/80263304161809898486953580976564463280492245526476651908848280381297792881730359224146523075524726123458602430056430323990164676669064390001339947061948865508349970567755807467524166227482951618519489314816 binary64)) (*.f64 x #s(approx (- (/ y z) (/ t (- 1 z))) (/.f64 t (-.f64 #s(literal 1 binary64) z)))) #s(approx (* x (- (/ y z) (/ t (- 1 z)))) (/.f64 y z)))
#s(approx (* x (- (/ y z) (/ t (- 1 z)))) (/.f64 y z))
(*.f64 x #s(approx (- (/ y z) (/ t (- 1 z))) (-.f64 #s(literal 1 binary64) z)))
#s(approx (* x (- (/ y z) (/ t (- 1 z)))) (-.f64 #s(literal 1 binary64) z))

soundness1.0ms (0.1%)

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

Compiled 134 to 29 computations (78.4% saved)

preprocess46.0ms (2.8%)

Memory
3.2MiB live, 79.5MiB allocated
Compiler

Compiled 426 to 130 computations (69.5% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...