Diagrams.Solve.Tridiagonal:solveTriDiagonal from diagrams-solve-0.1, B

Time bar (total: 956.0ms)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated

analyze116.0ms (12.1%)

Memory
15.9MiB live, 256.0MiB 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
37.5%37.4%62.4%0.2%0%0%0%5
37.5%37.4%62.4%0.2%0%0%0%6
43.8%43.7%56.1%0.2%0%0%0%7
43.8%43.7%56.1%0.2%0%0%0%8
51.6%51.5%48.3%0.2%0%0%0%9
51.6%51.5%48.3%0.2%0%0%0%10
57%56.9%42.9%0.2%0%0%0%11
62.1%62%37.8%0.2%0%0%0%12
Compiler

Compiled 9 to 9 computations (0% saved)

sample647.0ms (67.6%)

Memory
2.4MiB live, 1 189.9MiB allocated
Samples
389.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 170.0ms
ival-mult: 65.0ms (38.3% of total)
ival-div: 56.0ms (33% of total)
ival-sub: 40.0ms (23.5% of total)
ival-true: 6.0ms (3.5% of total)
ival-assert: 3.0ms (1.8% of total)
Bogosity

explain70.0ms (7.3%)

Memory
17.8MiB live, 99.3MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
140-0-(/.f64 x (-.f64 y (*.f64 z t)))
00-0-y
00-0-t
00-0-(*.f64 z t)
00-0-z
00-0-(-.f64 y (*.f64 z t))
00-0-x
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
/.f64(/.f64 x (-.f64 y (*.f64 z t)))n/o140
(-.f64 y (*.f64 z t))overflow37
(*.f64 z t)overflow37
Confusion
Predicted +Predicted -
+140
-0242
Precision
1.0
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+1400
-00242
Precision?
1.0
Recall?
1.0
Freqs
test
numberfreq
0242
114
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
29.0ms512×0valid
Compiler

Compiled 68 to 32 computations (52.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 14.0ms
ival-sub: 6.0ms (42.9% of total)
ival-div: 4.0ms (28.6% of total)
ival-mult: 4.0ms (28.6% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess4.0ms (0.4%)

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

Compiled 7 to 7 computations (0% saved)

eval0.0ms (0%)

Memory
0.2MiB live, 0.2MiB allocated
Compiler

Compiled 0 to 4 computations (-∞% saved)

prune2.0ms (0.2%)

Memory
-37.6MiB live, 0.9MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
95.0%
(/.f64 x (-.f64 y (*.f64 z t)))
Compiler

Compiled 7 to 7 computations (0% saved)

simplify0.0ms (0%)

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

Found 3 expressions of interest:

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

localize18.0ms (1.9%)

Memory
3.1MiB live, 42.3MiB allocated
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 z t)
accuracy0.0078125
(-.f64 y (*.f64 z t))
accuracy3.1956210578559965
(/.f64 x (-.f64 y (*.f64 z t)))
Samples
13.0ms256×0valid
Compiler

Compiled 40 to 16 computations (60% saved)

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

series11.0ms (1.1%)

Memory
23.3MiB live, 23.3MiB allocated
Counts
3 → 40
Calls
Call 1
Inputs
(/.f64 x (-.f64 y (*.f64 z t)))
(-.f64 y (*.f64 z t))
(*.f64 z t)
Outputs
(/ x (- y (* t z)))
(* -1 (/ x (* t z)))
(+ (* -1 (/ x (* t z))) (* -1 (/ (* x y) (* (pow t 2) (pow z 2)))))
(+ (* -1 (/ x (* t z))) (* y (- (* -1 (/ (* x y) (* (pow t 3) (pow z 3)))) (/ x (* (pow t 2) (pow z 2))))))
(+ (* -1 (/ x (* t z))) (* y (- (* y (- (* -1 (/ (* x y) (* (pow t 4) (pow z 4)))) (/ x (* (pow t 3) (pow z 3))))) (/ x (* (pow t 2) (pow z 2))))))
(* -1 (* t z))
(- y (* t z))
(/ x y)
(/ (+ x (/ (* t (* x z)) y)) y)
(/ (- (+ x (/ (* (pow t 2) (* x (pow z 2))) (pow y 2))) (* -1 (/ (* t (* x z)) y))) y)
(/ (- (+ x (/ (* (pow t 3) (* x (pow z 3))) (pow y 3))) (+ (* -1 (/ (* t (* x z)) y)) (* -1 (/ (* (pow t 2) (* x (pow z 2))) (pow y 2))))) y)
y
(* y (+ 1 (* -1 (/ (* t z) y))))
(* -1 (/ (+ (* -1 x) (* -1 (/ (* t (* x z)) y))) y))
(* -1 (/ (+ (* -1 x) (* -1 (/ (+ (* t (* x z)) (/ (* (pow t 2) (* x (pow z 2))) y)) y))) y))
(* -1 (/ (+ (* -1 x) (* -1 (/ (+ (* -1 (/ (+ (* -1 (* (pow t 2) (* x (pow z 2)))) (* -1 (/ (* (pow t 3) (* x (pow z 3))) y))) y)) (* t (* x z))) y))) y))
(* -1 (* y (- (/ (* t z) y) 1)))
(+ (/ x y) (/ (* t (* x z)) (pow y 2)))
(+ (* z (- (/ (* (pow t 2) (* x z)) (pow y 3)) (* -1 (/ (* t x) (pow y 2))))) (/ x y))
(+ (* z (- (* z (- (/ (* (pow t 3) (* x z)) (pow y 4)) (* -1 (/ (* (pow t 2) x) (pow y 3))))) (* -1 (/ (* t x) (pow y 2))))) (/ x y))
(+ y (* -1 (* t z)))
(* t z)
(/ (+ (* -1 (/ x t)) (* -1 (/ (* x y) (* (pow t 2) z)))) z)
(/ (- (+ (* -1 (/ x t)) (* -1 (/ (* x (pow y 2)) (* (pow t 3) (pow z 2))))) (/ (* x y) (* (pow t 2) z))) z)
(/ (- (+ (* -1 (/ x t)) (* -1 (/ (* x (pow y 3)) (* (pow t 4) (pow z 3))))) (+ (/ (* x y) (* (pow t 2) z)) (/ (* x (pow y 2)) (* (pow t 3) (pow z 2))))) z)
(* z (- (/ y z) t))
(* -1 (/ (+ (/ x t) (/ (* x y) (* (pow t 2) z))) z))
(* -1 (/ (+ (* -1 (/ (- (* -1 (/ (* x (pow y 2)) (* (pow t 3) z))) (/ (* x y) (pow t 2))) z)) (/ x t)) z))
(* -1 (/ (+ (* -1 (/ (- (* -1 (/ (- (/ (* x (pow y 3)) (* (pow t 4) z)) (* -1 (/ (* x (pow y 2)) (pow t 3)))) z)) (/ (* x y) (pow t 2))) z)) (/ x t)) z))
(* -1 (* z (- (* -1 (/ y z)) (* -1 t))))
(+ (* t (- (/ (* t (* x (pow z 2))) (pow y 3)) (* -1 (/ (* x z) (pow y 2))))) (/ x y))
(+ (* t (- (* t (- (/ (* t (* x (pow z 3))) (pow y 4)) (* -1 (/ (* x (pow z 2)) (pow y 3))))) (* -1 (/ (* x z) (pow y 2))))) (/ x y))
(/ (+ (* -1 (/ x z)) (* -1 (/ (* x y) (* t (pow z 2))))) t)
(/ (- (+ (* -1 (/ x z)) (* -1 (/ (* x (pow y 2)) (* (pow t 2) (pow z 3))))) (/ (* x y) (* t (pow z 2)))) t)
(/ (- (+ (* -1 (/ x z)) (* -1 (/ (* x (pow y 3)) (* (pow t 3) (pow z 4))))) (+ (/ (* x y) (* t (pow z 2))) (/ (* x (pow y 2)) (* (pow t 2) (pow z 3))))) t)
(* t (- (/ y t) z))
(* -1 (/ (+ (/ x z) (/ (* x y) (* t (pow z 2)))) t))
(* -1 (/ (+ (* -1 (/ (- (* -1 (/ (* x (pow y 2)) (* t (pow z 3)))) (/ (* x y) (pow z 2))) t)) (/ x z)) t))
(* -1 (/ (+ (* -1 (/ (- (* -1 (/ (- (/ (* x (pow y 3)) (* t (pow z 4))) (* -1 (/ (* x (pow y 2)) (pow z 3)))) t)) (/ (* x y) (pow z 2))) t)) (/ x z)) t))
(* -1 (* t (- (* -1 (/ y t)) (* -1 z))))
Calls

12 calls:

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

simplify1.0ms (0.1%)

Memory
1.2MiB live, 1.2MiB allocated
Algorithm
egg-herbie
Counts
40 → 3
Calls
Call 1
Inputs
(/ x (- y (* t z)))
(* -1 (/ x (* t z)))
(+ (* -1 (/ x (* t z))) (* -1 (/ (* x y) (* (pow t 2) (pow z 2)))))
(+ (* -1 (/ x (* t z))) (* y (- (* -1 (/ (* x y) (* (pow t 3) (pow z 3)))) (/ x (* (pow t 2) (pow z 2))))))
(+ (* -1 (/ x (* t z))) (* y (- (* y (- (* -1 (/ (* x y) (* (pow t 4) (pow z 4)))) (/ x (* (pow t 3) (pow z 3))))) (/ x (* (pow t 2) (pow z 2))))))
(* -1 (* t z))
(- y (* t z))
(/ x y)
(/ (+ x (/ (* t (* x z)) y)) y)
(/ (- (+ x (/ (* (pow t 2) (* x (pow z 2))) (pow y 2))) (* -1 (/ (* t (* x z)) y))) y)
(/ (- (+ x (/ (* (pow t 3) (* x (pow z 3))) (pow y 3))) (+ (* -1 (/ (* t (* x z)) y)) (* -1 (/ (* (pow t 2) (* x (pow z 2))) (pow y 2))))) y)
y
(* y (+ 1 (* -1 (/ (* t z) y))))
(* -1 (/ (+ (* -1 x) (* -1 (/ (* t (* x z)) y))) y))
(* -1 (/ (+ (* -1 x) (* -1 (/ (+ (* t (* x z)) (/ (* (pow t 2) (* x (pow z 2))) y)) y))) y))
(* -1 (/ (+ (* -1 x) (* -1 (/ (+ (* -1 (/ (+ (* -1 (* (pow t 2) (* x (pow z 2)))) (* -1 (/ (* (pow t 3) (* x (pow z 3))) y))) y)) (* t (* x z))) y))) y))
(* -1 (* y (- (/ (* t z) y) 1)))
(+ (/ x y) (/ (* t (* x z)) (pow y 2)))
(+ (* z (- (/ (* (pow t 2) (* x z)) (pow y 3)) (* -1 (/ (* t x) (pow y 2))))) (/ x y))
(+ (* z (- (* z (- (/ (* (pow t 3) (* x z)) (pow y 4)) (* -1 (/ (* (pow t 2) x) (pow y 3))))) (* -1 (/ (* t x) (pow y 2))))) (/ x y))
(+ y (* -1 (* t z)))
(* t z)
(/ (+ (* -1 (/ x t)) (* -1 (/ (* x y) (* (pow t 2) z)))) z)
(/ (- (+ (* -1 (/ x t)) (* -1 (/ (* x (pow y 2)) (* (pow t 3) (pow z 2))))) (/ (* x y) (* (pow t 2) z))) z)
(/ (- (+ (* -1 (/ x t)) (* -1 (/ (* x (pow y 3)) (* (pow t 4) (pow z 3))))) (+ (/ (* x y) (* (pow t 2) z)) (/ (* x (pow y 2)) (* (pow t 3) (pow z 2))))) z)
(* z (- (/ y z) t))
(* -1 (/ (+ (/ x t) (/ (* x y) (* (pow t 2) z))) z))
(* -1 (/ (+ (* -1 (/ (- (* -1 (/ (* x (pow y 2)) (* (pow t 3) z))) (/ (* x y) (pow t 2))) z)) (/ x t)) z))
(* -1 (/ (+ (* -1 (/ (- (* -1 (/ (- (/ (* x (pow y 3)) (* (pow t 4) z)) (* -1 (/ (* x (pow y 2)) (pow t 3)))) z)) (/ (* x y) (pow t 2))) z)) (/ x t)) z))
(* -1 (* z (- (* -1 (/ y z)) (* -1 t))))
(+ (* t (- (/ (* t (* x (pow z 2))) (pow y 3)) (* -1 (/ (* x z) (pow y 2))))) (/ x y))
(+ (* t (- (* t (- (/ (* t (* x (pow z 3))) (pow y 4)) (* -1 (/ (* x (pow z 2)) (pow y 3))))) (* -1 (/ (* x z) (pow y 2))))) (/ x y))
(/ (+ (* -1 (/ x z)) (* -1 (/ (* x y) (* t (pow z 2))))) t)
(/ (- (+ (* -1 (/ x z)) (* -1 (/ (* x (pow y 2)) (* (pow t 2) (pow z 3))))) (/ (* x y) (* t (pow z 2)))) t)
(/ (- (+ (* -1 (/ x z)) (* -1 (/ (* x (pow y 3)) (* (pow t 3) (pow z 4))))) (+ (/ (* x y) (* t (pow z 2))) (/ (* x (pow y 2)) (* (pow t 2) (pow z 3))))) t)
(* t (- (/ y t) z))
(* -1 (/ (+ (/ x z) (/ (* x y) (* t (pow z 2)))) t))
(* -1 (/ (+ (* -1 (/ (- (* -1 (/ (* x (pow y 2)) (* t (pow z 3)))) (/ (* x y) (pow z 2))) t)) (/ x z)) t))
(* -1 (/ (+ (* -1 (/ (- (* -1 (/ (- (/ (* x (pow y 3)) (* t (pow z 4))) (* -1 (/ (* x (pow y 2)) (pow z 3)))) t)) (/ (* x y) (pow z 2))) t)) (/ x z)) t))
(* -1 (* t (- (* -1 (/ y t)) (* -1 z))))
Outputs
(/ x (- y (* t z)))
(/.f64 x (-.f64 y (*.f64 z t)))
(* -1 (/ x (* t z)))
(-.f64 y (*.f64 z t))
(+ (* -1 (/ x (* t z))) (* -1 (/ (* x y) (* (pow t 2) (pow z 2)))))
(*.f64 z t)

rewrite0.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated
Counts
3 → 3
Calls
Call 1
Inputs
(/.f64 x (-.f64 y (*.f64 z t)))
(-.f64 y (*.f64 z t))
(*.f64 z t)
Outputs
(/.f64 x (-.f64 y (*.f64 z t)))
(-.f64 y (*.f64 z t))
(*.f64 z t)

eval1.0ms (0.1%)

Memory
2.9MiB live, 2.9MiB allocated
Compiler

Compiled 60 to 13 computations (78.3% saved)

prune1.0ms (0.1%)

Memory
5.2MiB live, 5.2MiB allocated
Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New426
Fresh000
Picked011
Done000
Total437
Accuracy
95.0%
Counts
7 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
95.0%
(/.f64 x (-.f64 y (*.f64 z t)))
2.5%
#s(approx (/ x (- y (* z t))) (-.f64 y (*.f64 z t)))
4.2%
#s(approx (/ x (- y (* z t))) (*.f64 z t))
Compiler

Compiled 31 to 26 computations (16.1% saved)

simplify0.0ms (0%)

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

Found 5 expressions of interest:

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

localize20.0ms (2.1%)

Memory
-7.2MiB live, 31.6MiB allocated
Localize:

Found 5 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 z t)
accuracy0.0078125
(-.f64 y (*.f64 z t))
accuracy62.39140887568836
#s(approx (/ x (- y (* z t))) (-.f64 y (*.f64 z t)))
accuracy0.0
(*.f64 z t)
accuracy61.29860297871522
#s(approx (/ x (- y (* z t))) (*.f64 z t))
Samples
15.0ms256×0valid
Compiler

Compiled 72 to 20 computations (72.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 7.0ms
ival-sub: 3.0ms (45% of total)
ival-div: 2.0ms (30% of total)
ival-mult: 2.0ms (30% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series5.0ms (0.5%)

Memory
7.4MiB live, 7.4MiB allocated
Counts
4 → 40
Calls
Call 1
Inputs
#s(approx (/ x (- y (* z t))) (*.f64 z t))
(*.f64 z t)
#s(approx (/ x (- y (* z t))) (-.f64 y (*.f64 z t)))
(-.f64 y (*.f64 z t))
Outputs
(/ x (- y (* t z)))
(* -1 (/ x (* t z)))
(+ (* -1 (/ x (* t z))) (* -1 (/ (* x y) (* (pow t 2) (pow z 2)))))
(+ (* -1 (/ x (* t z))) (* y (- (* -1 (/ (* x y) (* (pow t 3) (pow z 3)))) (/ x (* (pow t 2) (pow z 2))))))
(+ (* -1 (/ x (* t z))) (* y (- (* y (- (* -1 (/ (* x y) (* (pow t 4) (pow z 4)))) (/ x (* (pow t 3) (pow z 3))))) (/ x (* (pow t 2) (pow z 2))))))
(* -1 (* t z))
(- y (* t z))
(/ x y)
(/ (+ x (/ (* t (* x z)) y)) y)
(/ (- (+ x (/ (* (pow t 2) (* x (pow z 2))) (pow y 2))) (* -1 (/ (* t (* x z)) y))) y)
(/ (- (+ x (/ (* (pow t 3) (* x (pow z 3))) (pow y 3))) (+ (* -1 (/ (* t (* x z)) y)) (* -1 (/ (* (pow t 2) (* x (pow z 2))) (pow y 2))))) y)
y
(* y (+ 1 (* -1 (/ (* t z) y))))
(* -1 (/ (+ (* -1 x) (* -1 (/ (* t (* x z)) y))) y))
(* -1 (/ (+ (* -1 x) (* -1 (/ (+ (* t (* x z)) (/ (* (pow t 2) (* x (pow z 2))) y)) y))) y))
(* -1 (/ (+ (* -1 x) (* -1 (/ (+ (* -1 (/ (+ (* -1 (* (pow t 2) (* x (pow z 2)))) (* -1 (/ (* (pow t 3) (* x (pow z 3))) y))) y)) (* t (* x z))) y))) y))
(* -1 (* y (- (/ (* t z) y) 1)))
(+ (/ x y) (/ (* t (* x z)) (pow y 2)))
(+ (* z (- (/ (* (pow t 2) (* x z)) (pow y 3)) (* -1 (/ (* t x) (pow y 2))))) (/ x y))
(+ (* z (- (* z (- (/ (* (pow t 3) (* x z)) (pow y 4)) (* -1 (/ (* (pow t 2) x) (pow y 3))))) (* -1 (/ (* t x) (pow y 2))))) (/ x y))
(* t z)
(+ y (* -1 (* t z)))
(/ (+ (* -1 (/ x t)) (* -1 (/ (* x y) (* (pow t 2) z)))) z)
(/ (- (+ (* -1 (/ x t)) (* -1 (/ (* x (pow y 2)) (* (pow t 3) (pow z 2))))) (/ (* x y) (* (pow t 2) z))) z)
(/ (- (+ (* -1 (/ x t)) (* -1 (/ (* x (pow y 3)) (* (pow t 4) (pow z 3))))) (+ (/ (* x y) (* (pow t 2) z)) (/ (* x (pow y 2)) (* (pow t 3) (pow z 2))))) z)
(* z (- (/ y z) t))
(* -1 (/ (+ (/ x t) (/ (* x y) (* (pow t 2) z))) z))
(* -1 (/ (+ (* -1 (/ (- (* -1 (/ (* x (pow y 2)) (* (pow t 3) z))) (/ (* x y) (pow t 2))) z)) (/ x t)) z))
(* -1 (/ (+ (* -1 (/ (- (* -1 (/ (- (/ (* x (pow y 3)) (* (pow t 4) z)) (* -1 (/ (* x (pow y 2)) (pow t 3)))) z)) (/ (* x y) (pow t 2))) z)) (/ x t)) z))
(* -1 (* z (- (* -1 (/ y z)) (* -1 t))))
(+ (* t (- (/ (* t (* x (pow z 2))) (pow y 3)) (* -1 (/ (* x z) (pow y 2))))) (/ x y))
(+ (* t (- (* t (- (/ (* t (* x (pow z 3))) (pow y 4)) (* -1 (/ (* x (pow z 2)) (pow y 3))))) (* -1 (/ (* x z) (pow y 2))))) (/ x y))
(/ (+ (* -1 (/ x z)) (* -1 (/ (* x y) (* t (pow z 2))))) t)
(/ (- (+ (* -1 (/ x z)) (* -1 (/ (* x (pow y 2)) (* (pow t 2) (pow z 3))))) (/ (* x y) (* t (pow z 2)))) t)
(/ (- (+ (* -1 (/ x z)) (* -1 (/ (* x (pow y 3)) (* (pow t 3) (pow z 4))))) (+ (/ (* x y) (* t (pow z 2))) (/ (* x (pow y 2)) (* (pow t 2) (pow z 3))))) t)
(* t (- (/ y t) z))
(* -1 (/ (+ (/ x z) (/ (* x y) (* t (pow z 2)))) t))
(* -1 (/ (+ (* -1 (/ (- (* -1 (/ (* x (pow y 2)) (* t (pow z 3)))) (/ (* x y) (pow z 2))) t)) (/ x z)) t))
(* -1 (/ (+ (* -1 (/ (- (* -1 (/ (- (/ (* x (pow y 3)) (* t (pow z 4))) (* -1 (/ (* x (pow y 2)) (pow z 3)))) t)) (/ (* x y) (pow z 2))) t)) (/ x z)) t))
(* -1 (* t (- (* -1 (/ y t)) (* -1 z))))
Calls

12 calls:

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

simplify1.0ms (0.1%)

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

rewrite0.0ms (0%)

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

eval4.0ms (0.4%)

Memory
-45.7MiB live, 1.5MiB allocated
Compiler

Compiled 101 to 13 computations (87.1% saved)

prune2.0ms (0.2%)

Memory
4.2MiB live, 4.2MiB allocated
Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New707
Fresh000
Picked022
Done011
Total7310
Accuracy
95.0%
Counts
10 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
95.0%
(/.f64 x (-.f64 y (*.f64 z t)))
2.5%
#s(approx (/ x (- y (* z t))) (-.f64 y (*.f64 z t)))
4.2%
#s(approx (/ x (- y (* z t))) (*.f64 z t))
Compiler

Compiled 62 to 38 computations (38.7% saved)

regimes12.0ms (1.2%)

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

7 calls:

2.0ms
x
2.0ms
y
2.0ms
(-.f64 y (*.f64 z t))
2.0ms
z
2.0ms
t
Results
AccuracySegmentsBranch
95.0%1x
95.0%1y
95.0%1z
95.0%1t
95.0%1(/.f64 x (-.f64 y (*.f64 z t)))
95.0%1(-.f64 y (*.f64 z t))
95.0%1(*.f64 z t)
Compiler

Compiled 19 to 34 computations (-78.9% saved)

regimes11.0ms (1.1%)

Memory
-18.2MiB live, 20.8MiB allocated
Accuracy

Total -1.6b remaining (-2.5%)

Threshold costs -1.6b (-2.5%)

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

7 calls:

2.0ms
(-.f64 y (*.f64 z t))
1.0ms
z
1.0ms
x
1.0ms
y
1.0ms
t
Results
AccuracySegmentsBranch
4.2%1z
4.2%1t
4.2%1(/.f64 x (-.f64 y (*.f64 z t)))
4.2%1(-.f64 y (*.f64 z t))
4.2%1(*.f64 z t)
4.2%1x
4.2%1y
Compiler

Compiled 19 to 34 computations (-78.9% saved)

simplify5.0ms (0.5%)

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

soundness0.0ms (0%)

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

Compiled 18 to 11 computations (38.9% saved)

preprocess26.0ms (2.7%)

Memory
4.5MiB live, 43.1MiB allocated
Compiler

Compiled 124 to 74 computations (40.3% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...