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

Time bar (total: 1.4s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze169.0ms (12.3%)

Memory
-21.3MiB live, 340.2MiB 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
37.5%37.4%62.3%0.2%0%0%0%6
37.5%37.4%62.3%0.2%0%0%0%7
37.5%37.4%62.3%0.2%0%0%0%8
37.5%37.4%62.3%0.2%0%0%0%9
43.8%43.6%56.1%0.2%0%0%0%10
51.6%51.4%48.3%0.2%0%0%0%11
51.6%51.4%48.3%0.2%0%0%0%12
Compiler

Compiled 13 to 12 computations (7.7% saved)

sample815.0ms (59.6%)

Memory
39.8MiB live, 1 206.9MiB allocated
Samples
511.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 273.0ms
ival-mult: 133.0ms (48.7% of total)
ival-sub: 82.0ms (30% of total)
ival-div: 49.0ms (17.9% of total)
ival-true: 6.0ms (2.2% of total)
ival-assert: 3.0ms (1.1% of total)
Bogosity

explain99.0ms (7.3%)

Memory
9.7MiB live, 172.1MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
330-0-(/.f64 (-.f64 x (*.f64 y z)) (-.f64 t (*.f64 a z)))
00-0-(-.f64 t (*.f64 a z))
00-0-a
00-0-t
00-0-z
00-0-y
00-0-(*.f64 a z)
00-0-(-.f64 x (*.f64 y z))
00-0-(*.f64 y z)
00-0-x
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
/.f64(/.f64 (-.f64 x (*.f64 y z)) (-.f64 t (*.f64 a z)))n/o130
(*.f64 a z)overflow29
(-.f64 t (*.f64 a z))overflow29
/.f64(/.f64 (-.f64 x (*.f64 y z)) (-.f64 t (*.f64 a z)))o/n120
(*.f64 y z)overflow29
(-.f64 x (*.f64 y z))overflow29
/.f64(/.f64 (-.f64 x (*.f64 y z)) (-.f64 t (*.f64 a z)))o/o80
(*.f64 y z)overflow29
(-.f64 x (*.f64 y z))overflow29
(*.f64 a z)overflow29
(-.f64 t (*.f64 a z))overflow29
Confusion
Predicted +Predicted -
+330
-0223
Precision
1.0
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+3300
-00223
Precision?
1.0
Recall?
1.0
Freqs
test
numberfreq
0223
133
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
36.0ms512×0valid
Compiler

Compiled 111 to 44 computations (60.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 18.0ms
ival-mult: 10.0ms (56.1% of total)
ival-sub: 5.0ms (28% of total)
ival-div: 3.0ms (16.8% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess4.0ms (0.3%)

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

Compiled 11 to 10 computations (9.1% saved)

eval0.0ms (0%)

Memory
0.1MiB live, 0.2MiB allocated
Compiler

Compiled 0 to 5 computations (-∞% saved)

prune0.0ms (0%)

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

Compiled 11 to 10 computations (9.1% saved)

simplify0.0ms (0%)

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

Found 4 expressions of interest:

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

localize25.0ms (1.8%)

Memory
-1.3MiB live, 39.9MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 y z)
accuracy0.0
(*.f64 a z)
accuracy0.00390625
(-.f64 x (*.f64 y z))
accuracy8.001356009136826
(/.f64 (-.f64 x (*.f64 y z)) (-.f64 t (*.f64 a z)))
Samples
19.0ms256×0valid
Compiler

Compiled 66 to 22 computations (66.7% saved)

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

series19.0ms (1.4%)

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

15 calls:

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

simplify1.0ms (0.1%)

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

rewrite0.0ms (0%)

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

eval1.0ms (0.1%)

Memory
2.1MiB live, 2.1MiB allocated
Compiler

Compiled 142 to 22 computations (84.5% saved)

prune2.0ms (0.1%)

Memory
4.0MiB live, 4.0MiB allocated
Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New6410
Fresh000
Picked011
Done000
Total6511
Accuracy
87.6%
Counts
11 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
87.5%
(/.f64 (-.f64 x (*.f64 y z)) (-.f64 t (*.f64 a z)))
3.4%
(/.f64 #s(approx (- x (* y z)) (-.f64 t (*.f64 a z))) (-.f64 t (*.f64 a z)))
10.0%
(/.f64 #s(approx (- x (* y z)) (*.f64 y z)) (-.f64 t (*.f64 a z)))
5.5%
#s(approx (/ (- x (* y z)) (- t (* a z))) (-.f64 x (*.f64 y z)))
3.3%
#s(approx (/ (- x (* y z)) (- t (* a z))) (*.f64 a z))
Compiler

Compiled 75 to 58 computations (22.7% saved)

simplify1.0ms (0.1%)

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

Found 13 expressions of interest:

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

localize33.0ms (2.4%)

Memory
-31.9MiB live, 43.3MiB allocated
Localize:

Found 13 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(-.f64 t (*.f64 a z))
accuracy0.0
(*.f64 a z)
accuracy8.001356009136826
(/.f64 #s(approx (- x (* y z)) (-.f64 t (*.f64 a z))) (-.f64 t (*.f64 a z)))
accuracy61.50407196366259
#s(approx (- x (* y z)) (-.f64 t (*.f64 a z)))
accuracy0.0
(*.f64 y z)
accuracy0.0
(*.f64 a z)
accuracy8.001356009136826
(/.f64 #s(approx (- x (* y z)) (*.f64 y z)) (-.f64 t (*.f64 a z)))
accuracy62.61524786934095
#s(approx (- x (* y z)) (*.f64 y z))
accuracy0.0
(*.f64 y z)
accuracy0.00390625
(-.f64 x (*.f64 y z))
accuracy60.48851964951921
#s(approx (/ (- x (* y z)) (- t (* a z))) (-.f64 x (*.f64 y z)))
accuracy0.0
(*.f64 a z)
accuracy61.889267918881984
#s(approx (/ (- x (* y z)) (- t (* a z))) (*.f64 a z))
Samples
22.0ms256×0valid
Compiler

Compiled 224 to 32 computations (85.7% saved)

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

series9.0ms (0.6%)

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

15 calls:

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

simplify1.0ms (0.1%)

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

rewrite1.0ms (0%)

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

eval2.0ms (0.2%)

Memory
4.2MiB live, 4.2MiB allocated
Compiler

Compiled 476 to 33 computations (93.1% saved)

prune4.0ms (0.3%)

Memory
6.2MiB live, 6.2MiB allocated
Pruning

7 alts after pruning (2 fresh and 5 done)

PrunedKeptTotal
New22224
Fresh000
Picked044
Done011
Total22729
Accuracy
87.6%
Counts
29 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
87.5%
(/.f64 (-.f64 x (*.f64 y z)) (-.f64 t (*.f64 a z)))
3.4%
(/.f64 #s(approx (- x (* y z)) (-.f64 t (*.f64 a z))) (-.f64 t (*.f64 a z)))
10.0%
(/.f64 #s(approx (- x (* y z)) (*.f64 y z)) (-.f64 t (*.f64 a z)))
5.5%
#s(approx (/ (- x (* y z)) (- t (* a z))) (-.f64 x (*.f64 y z)))
5.6%
#s(approx (/ (- x (* y z)) (- t (* a z))) (*.f64 y z))
3.3%
#s(approx (/ (- x (* y z)) (- t (* a z))) (*.f64 a z))
2.8%
#s(approx (/ (- x (* y z)) (- t (* a z))) #s(approx (- x (* y z)) (-.f64 t (*.f64 a z))))
Compiler

Compiled 113 to 84 computations (25.7% saved)

simplify0.0ms (0%)

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

Found 6 expressions of interest:

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

localize28.0ms (2%)

Memory
-8.6MiB live, 31.5MiB allocated
Localize:

Found 6 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 y z)
accuracy60.42147804675443
#s(approx (/ (- x (* y z)) (- t (* a z))) (*.f64 y z))
accuracy0.0
(-.f64 t (*.f64 a z))
accuracy0.0
(*.f64 a z)
accuracy60.48851964951921
#s(approx (/ (- x (* y z)) (- t (* a z))) #s(approx (- x (* y z)) (-.f64 t (*.f64 a z))))
accuracy61.50407196366259
#s(approx (- x (* y z)) (-.f64 t (*.f64 a z)))
Samples
22.0ms256×0valid
Compiler

Compiled 110 to 28 computations (74.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 12.0ms
ival-sub: 7.0ms (57.2% of total)
ival-mult: 4.0ms (32.7% of total)
ival-div: 2.0ms (16.3% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series7.0ms (0.5%)

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

15 calls:

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

simplify1.0ms (0.1%)

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

rewrite0.0ms (0%)

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

eval1.0ms (0.1%)

Memory
1.8MiB live, 1.8MiB allocated
Compiler

Compiled 205 to 20 computations (90.2% saved)

prune8.0ms (0.6%)

Memory
-30.1MiB live, 7.1MiB allocated
Pruning

7 alts after pruning (0 fresh and 7 done)

PrunedKeptTotal
New909
Fresh000
Picked022
Done055
Total9716
Accuracy
87.6%
Counts
16 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
87.5%
(/.f64 (-.f64 x (*.f64 y z)) (-.f64 t (*.f64 a z)))
3.4%
(/.f64 #s(approx (- x (* y z)) (-.f64 t (*.f64 a z))) (-.f64 t (*.f64 a z)))
10.0%
(/.f64 #s(approx (- x (* y z)) (*.f64 y z)) (-.f64 t (*.f64 a z)))
5.5%
#s(approx (/ (- x (* y z)) (- t (* a z))) (-.f64 x (*.f64 y z)))
5.6%
#s(approx (/ (- x (* y z)) (- t (* a z))) (*.f64 y z))
3.3%
#s(approx (/ (- x (* y z)) (- t (* a z))) (*.f64 a z))
2.8%
#s(approx (/ (- x (* y z)) (- t (* a z))) #s(approx (- x (* y z)) (-.f64 t (*.f64 a z))))
Compiler

Compiled 226 to 107 computations (52.7% saved)

regimes18.0ms (1.3%)

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

6 calls:

3.0ms
z
3.0ms
x
3.0ms
y
3.0ms
a
3.0ms
(/.f64 (-.f64 x (*.f64 y z)) (-.f64 t (*.f64 a z)))
Results
AccuracySegmentsBranch
87.5%1x
87.5%1y
87.5%1z
87.5%1t
87.5%1a
87.5%1(/.f64 (-.f64 x (*.f64 y z)) (-.f64 t (*.f64 a z)))
Compiler

Compiled 16 to 35 computations (-118.8% saved)

regimes19.0ms (1.4%)

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

6 calls:

5.0ms
t
3.0ms
z
3.0ms
x
3.0ms
y
3.0ms
a
Results
AccuracySegmentsBranch
10.0%1a
10.0%1x
11.7%2y
10.0%1z
10.0%1t
12.2%2(/.f64 (-.f64 x (*.f64 y z)) (-.f64 t (*.f64 a z)))
Compiler

Compiled 16 to 35 computations (-118.8% saved)

regimes15.0ms (1.1%)

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

6 calls:

4.0ms
x
2.0ms
a
2.0ms
t
2.0ms
z
2.0ms
y
Results
AccuracySegmentsBranch
5.6%1x
7.8%2t
7.6%2a
5.6%1z
5.6%1y
5.6%1(/.f64 (-.f64 x (*.f64 y z)) (-.f64 t (*.f64 a z)))
Compiler

Compiled 16 to 35 computations (-118.8% saved)

regimes6.0ms (0.4%)

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

3 calls:

2.0ms
t
2.0ms
a
2.0ms
z
Results
AccuracySegmentsBranch
5.6%1z
5.6%1a
5.6%1t
Compiler

Compiled 3 to 15 computations (-400% saved)

regimes7.0ms (0.5%)

Memory
15.9MiB live, 15.9MiB allocated
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

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

6 calls:

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

Compiled 16 to 35 computations (-118.8% saved)

bsearch0.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
2.448102370935954e-125
2.492087383012223e-124
Compiler

Compiled 14 to 18 computations (-28.6% saved)

bsearch20.0ms (1.4%)

Memory
-30.4MiB live, 16.8MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
18.0ms
-1.0543320887541935e-126
-2.68334662125982e-130
Samples
14.0ms128×0valid
Compiler

Compiled 270 to 234 computations (13.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 10.0ms
ival-mult: 8.0ms (78.1% of total)
ival-sub: 1.0ms (9.8% of total)
ival-div: 1.0ms (9.8% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

simplify5.0ms (0.4%)

Memory
9.2MiB live, 9.2MiB allocated
Algorithm
egg-herbie
Calls
Call 1
Inputs
(/.f64 (-.f64 x (*.f64 y z)) (-.f64 t (*.f64 a z)))
(if (<=.f64 (/.f64 (-.f64 x (*.f64 y z)) (-.f64 t (*.f64 a z))) #s(literal 7621456421669903/190536410541747572716161940294993060653600960856016305594430966774009505543198585212421026798308836130360530463953040948208494609331560382464 binary64)) (/.f64 #s(approx (- x (* y z)) (*.f64 y z)) (-.f64 t (*.f64 a z))) #s(approx (/ (- x (* y z)) (- t (* a z))) (-.f64 x (*.f64 y z))))
(if (<=.f64 t #s(literal -7316598164803107/97554642197374757230674913431036447054643691958280348464348654988292866838117675628759565720734124098744591597543956965482749239977758915821568 binary64)) #s(approx (/ (- x (* y z)) (- t (* a z))) (*.f64 y z)) #s(approx (/ (- x (* y z)) (- t (* a z))) (-.f64 x (*.f64 y z))))
#s(approx (/ (- x (* y z)) (- t (* a z))) (*.f64 y z))
#s(approx (/ (- x (* y z)) (- t (* a z))) (*.f64 a z))
Outputs
(/.f64 (-.f64 x (*.f64 y z)) (-.f64 t (*.f64 a z)))
(if (<=.f64 (/.f64 (-.f64 x (*.f64 y z)) (-.f64 t (*.f64 a z))) #s(literal 7621456421669903/190536410541747572716161940294993060653600960856016305594430966774009505543198585212421026798308836130360530463953040948208494609331560382464 binary64)) (/.f64 #s(approx (- x (* y z)) (*.f64 y z)) (-.f64 t (*.f64 a z))) #s(approx (/ (- x (* y z)) (- t (* a z))) (-.f64 x (*.f64 y z))))
(if (<=.f64 t #s(literal -7316598164803107/97554642197374757230674913431036447054643691958280348464348654988292866838117675628759565720734124098744591597543956965482749239977758915821568 binary64)) #s(approx (/ (- x (* y z)) (- t (* a z))) (*.f64 y z)) #s(approx (/ (- x (* y z)) (- t (* a z))) (-.f64 x (*.f64 y z))))
#s(approx (/ (- x (* y z)) (- t (* a z))) (*.f64 y z))
#s(approx (/ (- x (* y z)) (- t (* a z))) (*.f64 a z))

soundness1.0ms (0.1%)

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

Compiled 123 to 26 computations (78.9% saved)

preprocess43.0ms (3.2%)

Memory
-12.2MiB live, 62.3MiB allocated
Compiler

Compiled 370 to 118 computations (68.1% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...