Diagrams.ThreeD.Shapes:frustum from diagrams-lib-1.3.0.3, A

Time bar (total: 2.3s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated

analyze1.0ms (0%)

Memory
1.1MiB live, 1.1MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.6%0.4%0%0%0%0
100%99.6%0%0.4%0%0%0%1
Compiler

Compiled 21 to 20 computations (4.8% saved)

sample1.2s (52.5%)

Memory
1.3MiB live, 1 989.9MiB allocated
Samples
799.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 473.0ms
ival-mult: 335.0ms (70.8% of total)
ival-add: 84.0ms (17.8% of total)
ival-sub: 38.0ms (8% of total)
ival-true: 7.0ms (1.5% of total)
exact: 5.0ms (1.1% of total)
ival-assert: 4.0ms (0.8% of total)
Bogosity

explain182.0ms (7.9%)

Memory
6.4MiB live, 357.5MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
200-1(-3.761127069058309e+273 -8.792448544130807e+210 4.1136403446352877e-274 4.3083256017740545e+273 -1.3718939072277152e-109 -3.2488121066012614e+149 -1.0966845618800263e-231 6.13989006331311e+202)(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)
70-0-(-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i))
10-0-(+.f64 (*.f64 x y) (*.f64 z t))
00-0-a
00-0-t
00-0-(*.f64 b c)
00-0-(*.f64 x y)
00-0-c
00-0-i
00-0-y
00-0-(*.f64 (+.f64 a (*.f64 b c)) c)
00-0-(*.f64 z t)
00-0-z
00-0-#s(literal 2 binary64)
00-0-b
00-0-(+.f64 a (*.f64 b c))
00-0-(*.f64 #s(literal 2 binary64) (-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
00-0-x
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
*.f64(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)n*o140
-.f64(-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i))nan-rescue70
(*.f64 x y)overflow29
(+.f64 (*.f64 x y) (*.f64 z t))overflow66
(*.f64 z t)overflow42
(*.f64 b c)overflow27
(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)overflow72
(+.f64 a (*.f64 b c))overflow27
(*.f64 (+.f64 a (*.f64 b c)) c)overflow65
*.f64(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)n*u10
+.f64(+.f64 (*.f64 x y) (*.f64 z t))nan-rescue10
(*.f64 x y)overflow29
(*.f64 z t)overflow42
Confusion
Predicted +Predicted -
+200
-3233
Precision
0.8695652173913043
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+2000
-30233
Precision?
0.8695652173913043
Recall?
1.0
Freqs
test
numberfreq
0233
123
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
61.0ms512×0valid
Compiler

Compiled 269 to 76 computations (71.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 27.0ms
ival-mult: 19.0ms (69.9% of total)
ival-add: 5.0ms (18.4% of total)
ival-sub: 2.0ms (7.4% of total)
ival-true: 1.0ms (3.7% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess6.0ms (0.3%)

Memory
17.2MiB live, 17.2MiB allocated
Algorithm
egg-herbie
Calls
Call 1
Inputs
(*.f64 #s(literal 2 binary64) (-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
Outputs
(*.f64 #s(literal 2 binary64) (-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
Compiler

Compiled 19 to 18 computations (5.3% saved)

eval0.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated
Compiler

Compiled 0 to 8 computations (-∞% saved)

prune0.0ms (0%)

Memory
1.7MiB live, 1.8MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
92.3%
(*.f64 #s(literal 2 binary64) (-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
Compiler

Compiled 19 to 18 computations (5.3% saved)

simplify1.0ms (0%)

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

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 x y)
cost-diff0
(+.f64 (*.f64 x y) (*.f64 z t))
cost-diff0
(-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i))
cost-diff0
(*.f64 #s(literal 2 binary64) (-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
Calls
Call 1
Inputs
(*.f64 #s(literal 2 binary64) (-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
#s(literal 2 binary64)
(-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i))
(+.f64 (*.f64 x y) (*.f64 z t))
(*.f64 x y)
x
y
(*.f64 z t)
z
t
(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)
(*.f64 (+.f64 a (*.f64 b c)) c)
(+.f64 a (*.f64 b c))
a
(*.f64 b c)
b
c
i
Outputs
(*.f64 #s(literal 2 binary64) (-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
#s(literal 2 binary64)
(-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i))
(+.f64 (*.f64 x y) (*.f64 z t))
(*.f64 x y)
x
y
(*.f64 z t)
z
t
(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)
(*.f64 (+.f64 a (*.f64 b c)) c)
(+.f64 a (*.f64 b c))
a
(*.f64 b c)
b
c
i

localize45.0ms (1.9%)

Memory
-11.3MiB live, 64.4MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.05859375
(*.f64 (+.f64 a (*.f64 b c)) c)
accuracy0.20312500000000003
(+.f64 (*.f64 x y) (*.f64 z t))
accuracy1.5468688074906176
(-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i))
accuracy4.583911025175191
(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)
Samples
31.0ms256×0valid
Compiler

Compiled 166 to 38 computations (77.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 17.0ms
ival-mult: 13.0ms (76.5% of total)
ival-add: 2.0ms (11.8% of total)
ival-sub: 1.0ms (5.9% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series36.0ms (1.6%)

Memory
-5.8MiB live, 52.7MiB allocated
Counts
6 → 94
Calls
Call 1
Inputs
(*.f64 #s(literal 2 binary64) (-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
(-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i))
(+.f64 (*.f64 x y) (*.f64 z t))
(*.f64 x y)
(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)
(*.f64 (+.f64 a (*.f64 b c)) c)
Outputs
(* 2 (- (* t z) (* c (* i (+ a (* b c))))))
(+ (* 2 (* x y)) (* 2 (- (* t z) (* c (* i (+ a (* b c)))))))
(- (* t z) (* c (* i (+ a (* b c)))))
(- (+ (* t z) (* x y)) (* c (* i (+ a (* b c)))))
(* t z)
(+ (* t z) (* x y))
(* x y)
(* 2 (* x y))
(* x (+ (* 2 y) (* 2 (/ (- (* t z) (* c (* i (+ a (* b c))))) x))))
(* x (- (+ y (/ (* t z) x)) (/ (* c (* i (+ a (* b c)))) x)))
(* x (+ y (/ (* t z) x)))
(* -1 (* x (+ (* -2 y) (* -2 (/ (- (* t z) (* c (* i (+ a (* b c))))) x)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ (- (* t z) (* c (* i (+ a (* b c))))) x)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ (* t z) x)))))
(* y (+ (* 2 x) (* 2 (/ (- (* t z) (* c (* i (+ a (* b c))))) y))))
(* y (- (+ x (/ (* t z) y)) (/ (* c (* i (+ a (* b c)))) y)))
(* y (+ x (/ (* t z) y)))
(* -1 (* y (+ (* -2 x) (* -2 (/ (- (* t z) (* c (* i (+ a (* b c))))) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (- (* t z) (* c (* i (+ a (* b c))))) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* t z) y)))))
(* 2 (- (* x y) (* c (* i (+ a (* b c))))))
(+ (* 2 (* t z)) (* 2 (- (* x y) (* c (* i (+ a (* b c)))))))
(- (* x y) (* c (* i (+ a (* b c)))))
(* 2 (* t z))
(* z (+ (* 2 t) (* 2 (/ (- (* x y) (* c (* i (+ a (* b c))))) z))))
(* z (- (+ t (/ (* x y) z)) (/ (* c (* i (+ a (* b c)))) z)))
(* z (+ t (/ (* x y) z)))
(* -1 (* z (+ (* -2 t) (* -2 (/ (- (* x y) (* c (* i (+ a (* b c))))) z)))))
(* -1 (* z (+ (* -1 t) (* -1 (/ (- (* x y) (* c (* i (+ a (* b c))))) z)))))
(* -1 (* z (+ (* -1 t) (* -1 (/ (* x y) z)))))
(* t (+ (* 2 z) (* 2 (/ (- (* x y) (* c (* i (+ a (* b c))))) t))))
(* t (- (+ z (/ (* x y) t)) (/ (* c (* i (+ a (* b c)))) t)))
(* t (+ z (/ (* x y) t)))
(* -1 (* t (+ (* -2 z) (* -2 (/ (- (* x y) (* c (* i (+ a (* b c))))) t)))))
(* -1 (* t (+ (* -1 z) (* -1 (/ (- (* x y) (* c (* i (+ a (* b c))))) t)))))
(* -1 (* t (+ (* -1 z) (* -1 (/ (* x y) t)))))
(* 2 (- (+ (* t z) (* x y)) (* b (* (pow c 2) i))))
(+ (* -2 (* a (* c i))) (* 2 (- (+ (* t z) (* x y)) (* b (* (pow c 2) i)))))
(- (+ (* t z) (* x y)) (* b (* (pow c 2) i)))
(- (+ (* -1 (* a (* c i))) (+ (* t z) (* x y))) (* b (* (pow c 2) i)))
(* b (* (pow c 2) i))
(+ (* a (* c i)) (* b (* (pow c 2) i)))
(* b (pow c 2))
(+ (* a c) (* b (pow c 2)))
(* -2 (* a (* c i)))
(* a (+ (* -2 (* c i)) (* 2 (/ (- (+ (* t z) (* x y)) (* b (* (pow c 2) i))) a))))
(* -1 (* a (* c i)))
(* a (- (+ (/ (* t z) a) (/ (* x y) a)) (+ (* c i) (/ (* b (* (pow c 2) i)) a))))
(* a (* c i))
(* a (+ (* c i) (/ (* b (* (pow c 2) i)) a)))
(* a c)
(* a (+ c (/ (* b (pow c 2)) a)))
(* -1 (* a (+ (* -2 (/ (- (+ (* t z) (* x y)) (* b (* (pow c 2) i))) a)) (* 2 (* c i)))))
(* -1 (* a (- (* -1 (/ (- (+ (* t z) (* x y)) (* b (* (pow c 2) i))) a)) (* -1 (* c i)))))
(* -1 (* a (+ (* -1 (* c i)) (* -1 (/ (* b (* (pow c 2) i)) a)))))
(* -1 (* a (+ (* -1 c) (* -1 (/ (* b (pow c 2)) a)))))
(* 2 (- (+ (* t z) (* x y)) (* a (* c i))))
(+ (* -2 (* b (* (pow c 2) i))) (* 2 (- (+ (* t z) (* x y)) (* a (* c i)))))
(- (+ (* t z) (* x y)) (* a (* c i)))
(- (+ (* -1 (* b (* (pow c 2) i))) (+ (* t z) (* x y))) (* a (* c i)))
(* -2 (* b (* (pow c 2) i)))
(* b (+ (* -2 (* (pow c 2) i)) (* 2 (/ (- (+ (* t z) (* x y)) (* a (* c i))) b))))
(* -1 (* b (* (pow c 2) i)))
(* b (- (+ (/ (* t z) b) (/ (* x y) b)) (+ (* (pow c 2) i) (/ (* a (* c i)) b))))
(* b (+ (* (pow c 2) i) (/ (* a (* c i)) b)))
(* b (+ (/ (* a c) b) (pow c 2)))
(* -1 (* b (+ (* -2 (/ (- (+ (* t z) (* x y)) (* a (* c i))) b)) (* 2 (* (pow c 2) i)))))
(* -1 (* b (- (* -1 (/ (- (+ (* t z) (* x y)) (* a (* c i))) b)) (* -1 (* (pow c 2) i)))))
(* -1 (* b (+ (* -1 (* (pow c 2) i)) (* -1 (/ (* a (* c i)) b)))))
(* -1 (* b (+ (* -1 (/ (* a c) b)) (* -1 (pow c 2)))))
(* 2 (+ (* t z) (* x y)))
(+ (* -2 (* a (* c i))) (* 2 (+ (* t z) (* x y))))
(+ (* 2 (+ (* t z) (* x y))) (* c (+ (* -2 (* a i)) (* -2 (* b (* c i))))))
(+ (* -1 (* a (* c i))) (+ (* t z) (* x y)))
(+ (* c (- (* -1 (* b (* c i))) (* a i))) (+ (* t z) (* x y)))
(* c (+ (* a i) (* b (* c i))))
(* c (+ a (* b c)))
(* (pow c 2) (+ (* -2 (* b i)) (* -2 (/ (* a i) c))))
(* (pow c 2) (+ (* -2 (* b i)) (+ (* -2 (/ (* a i) c)) (* 2 (/ (+ (* t z) (* x y)) (pow c 2))))))
(* (pow c 2) (- (* -1 (/ (* a i) c)) (* b i)))
(* (pow c 2) (- (+ (/ (* t z) (pow c 2)) (/ (* x y) (pow c 2))) (+ (* b i) (/ (* a i) c))))
(* (pow c 2) (+ (* b i) (/ (* a i) c)))
(* (pow c 2) (+ b (/ a c)))
(* (pow c 2) (+ (* -2 (* b i)) (* -1 (/ (+ (* -2 (/ (+ (* t z) (* x y)) c)) (* 2 (* a i))) c))))
(* (pow c 2) (- (* -1 (/ (- (* -1 (/ (+ (* t z) (* x y)) c)) (* -1 (* a i))) c)) (* b i)))
(+ (* -2 (* c (* i (+ a (* b c))))) (* 2 (+ (* t z) (* x y))))
(+ (* -1 (* c (* i (+ a (* b c))))) (+ (* t z) (* x y)))
(* c (* i (+ a (* b c))))
(* -2 (* c (* i (+ a (* b c)))))
(* i (+ (* -2 (* c (+ a (* b c)))) (* 2 (/ (+ (* t z) (* x y)) i))))
(* -1 (* c (* i (+ a (* b c)))))
(* i (- (+ (/ (* t z) i) (/ (* x y) i)) (* c (+ a (* b c)))))
(* -1 (* i (+ (* -2 (/ (+ (* t z) (* x y)) i)) (* 2 (* c (+ a (* b c)))))))
(* -1 (* i (- (* -1 (/ (+ (* t z) (* x y)) i)) (* -1 (* c (+ a (* b c)))))))
Calls

24 calls:

TimeVariablePointExpression
7.0ms
t
@inf
((* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+ (* x y) (* z t)) (* x y) (* (* (+ a (* b c)) c) i) (* (+ a (* b c)) c))
3.0ms
c
@inf
((* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+ (* x y) (* z t)) (* x y) (* (* (+ a (* b c)) c) i) (* (+ a (* b c)) c))
2.0ms
t
@-inf
((* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+ (* x y) (* z t)) (* x y) (* (* (+ a (* b c)) c) i) (* (+ a (* b c)) c))
1.0ms
c
@-inf
((* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+ (* x y) (* z t)) (* x y) (* (* (+ a (* b c)) c) i) (* (+ a (* b c)) c))
1.0ms
y
@inf
((* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+ (* x y) (* z t)) (* x y) (* (* (+ a (* b c)) c) i) (* (+ a (* b c)) c))

simplify1.0ms (0%)

Memory
2.2MiB live, 2.2MiB allocated
Algorithm
egg-herbie
Counts
94 → 6
Calls
Call 1
Inputs
(* 2 (- (* t z) (* c (* i (+ a (* b c))))))
(+ (* 2 (* x y)) (* 2 (- (* t z) (* c (* i (+ a (* b c)))))))
(- (* t z) (* c (* i (+ a (* b c)))))
(- (+ (* t z) (* x y)) (* c (* i (+ a (* b c)))))
(* t z)
(+ (* t z) (* x y))
(* x y)
(* 2 (* x y))
(* x (+ (* 2 y) (* 2 (/ (- (* t z) (* c (* i (+ a (* b c))))) x))))
(* x (- (+ y (/ (* t z) x)) (/ (* c (* i (+ a (* b c)))) x)))
(* x (+ y (/ (* t z) x)))
(* -1 (* x (+ (* -2 y) (* -2 (/ (- (* t z) (* c (* i (+ a (* b c))))) x)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ (- (* t z) (* c (* i (+ a (* b c))))) x)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ (* t z) x)))))
(* y (+ (* 2 x) (* 2 (/ (- (* t z) (* c (* i (+ a (* b c))))) y))))
(* y (- (+ x (/ (* t z) y)) (/ (* c (* i (+ a (* b c)))) y)))
(* y (+ x (/ (* t z) y)))
(* -1 (* y (+ (* -2 x) (* -2 (/ (- (* t z) (* c (* i (+ a (* b c))))) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (- (* t z) (* c (* i (+ a (* b c))))) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* t z) y)))))
(* 2 (- (* x y) (* c (* i (+ a (* b c))))))
(+ (* 2 (* t z)) (* 2 (- (* x y) (* c (* i (+ a (* b c)))))))
(- (* x y) (* c (* i (+ a (* b c)))))
(* 2 (* t z))
(* z (+ (* 2 t) (* 2 (/ (- (* x y) (* c (* i (+ a (* b c))))) z))))
(* z (- (+ t (/ (* x y) z)) (/ (* c (* i (+ a (* b c)))) z)))
(* z (+ t (/ (* x y) z)))
(* -1 (* z (+ (* -2 t) (* -2 (/ (- (* x y) (* c (* i (+ a (* b c))))) z)))))
(* -1 (* z (+ (* -1 t) (* -1 (/ (- (* x y) (* c (* i (+ a (* b c))))) z)))))
(* -1 (* z (+ (* -1 t) (* -1 (/ (* x y) z)))))
(* t (+ (* 2 z) (* 2 (/ (- (* x y) (* c (* i (+ a (* b c))))) t))))
(* t (- (+ z (/ (* x y) t)) (/ (* c (* i (+ a (* b c)))) t)))
(* t (+ z (/ (* x y) t)))
(* -1 (* t (+ (* -2 z) (* -2 (/ (- (* x y) (* c (* i (+ a (* b c))))) t)))))
(* -1 (* t (+ (* -1 z) (* -1 (/ (- (* x y) (* c (* i (+ a (* b c))))) t)))))
(* -1 (* t (+ (* -1 z) (* -1 (/ (* x y) t)))))
(* 2 (- (+ (* t z) (* x y)) (* b (* (pow c 2) i))))
(+ (* -2 (* a (* c i))) (* 2 (- (+ (* t z) (* x y)) (* b (* (pow c 2) i)))))
(- (+ (* t z) (* x y)) (* b (* (pow c 2) i)))
(- (+ (* -1 (* a (* c i))) (+ (* t z) (* x y))) (* b (* (pow c 2) i)))
(* b (* (pow c 2) i))
(+ (* a (* c i)) (* b (* (pow c 2) i)))
(* b (pow c 2))
(+ (* a c) (* b (pow c 2)))
(* -2 (* a (* c i)))
(* a (+ (* -2 (* c i)) (* 2 (/ (- (+ (* t z) (* x y)) (* b (* (pow c 2) i))) a))))
(* -1 (* a (* c i)))
(* a (- (+ (/ (* t z) a) (/ (* x y) a)) (+ (* c i) (/ (* b (* (pow c 2) i)) a))))
(* a (* c i))
(* a (+ (* c i) (/ (* b (* (pow c 2) i)) a)))
(* a c)
(* a (+ c (/ (* b (pow c 2)) a)))
(* -1 (* a (+ (* -2 (/ (- (+ (* t z) (* x y)) (* b (* (pow c 2) i))) a)) (* 2 (* c i)))))
(* -1 (* a (- (* -1 (/ (- (+ (* t z) (* x y)) (* b (* (pow c 2) i))) a)) (* -1 (* c i)))))
(* -1 (* a (+ (* -1 (* c i)) (* -1 (/ (* b (* (pow c 2) i)) a)))))
(* -1 (* a (+ (* -1 c) (* -1 (/ (* b (pow c 2)) a)))))
(* 2 (- (+ (* t z) (* x y)) (* a (* c i))))
(+ (* -2 (* b (* (pow c 2) i))) (* 2 (- (+ (* t z) (* x y)) (* a (* c i)))))
(- (+ (* t z) (* x y)) (* a (* c i)))
(- (+ (* -1 (* b (* (pow c 2) i))) (+ (* t z) (* x y))) (* a (* c i)))
(* -2 (* b (* (pow c 2) i)))
(* b (+ (* -2 (* (pow c 2) i)) (* 2 (/ (- (+ (* t z) (* x y)) (* a (* c i))) b))))
(* -1 (* b (* (pow c 2) i)))
(* b (- (+ (/ (* t z) b) (/ (* x y) b)) (+ (* (pow c 2) i) (/ (* a (* c i)) b))))
(* b (+ (* (pow c 2) i) (/ (* a (* c i)) b)))
(* b (+ (/ (* a c) b) (pow c 2)))
(* -1 (* b (+ (* -2 (/ (- (+ (* t z) (* x y)) (* a (* c i))) b)) (* 2 (* (pow c 2) i)))))
(* -1 (* b (- (* -1 (/ (- (+ (* t z) (* x y)) (* a (* c i))) b)) (* -1 (* (pow c 2) i)))))
(* -1 (* b (+ (* -1 (* (pow c 2) i)) (* -1 (/ (* a (* c i)) b)))))
(* -1 (* b (+ (* -1 (/ (* a c) b)) (* -1 (pow c 2)))))
(* 2 (+ (* t z) (* x y)))
(+ (* -2 (* a (* c i))) (* 2 (+ (* t z) (* x y))))
(+ (* 2 (+ (* t z) (* x y))) (* c (+ (* -2 (* a i)) (* -2 (* b (* c i))))))
(+ (* -1 (* a (* c i))) (+ (* t z) (* x y)))
(+ (* c (- (* -1 (* b (* c i))) (* a i))) (+ (* t z) (* x y)))
(* c (+ (* a i) (* b (* c i))))
(* c (+ a (* b c)))
(* (pow c 2) (+ (* -2 (* b i)) (* -2 (/ (* a i) c))))
(* (pow c 2) (+ (* -2 (* b i)) (+ (* -2 (/ (* a i) c)) (* 2 (/ (+ (* t z) (* x y)) (pow c 2))))))
(* (pow c 2) (- (* -1 (/ (* a i) c)) (* b i)))
(* (pow c 2) (- (+ (/ (* t z) (pow c 2)) (/ (* x y) (pow c 2))) (+ (* b i) (/ (* a i) c))))
(* (pow c 2) (+ (* b i) (/ (* a i) c)))
(* (pow c 2) (+ b (/ a c)))
(* (pow c 2) (+ (* -2 (* b i)) (* -1 (/ (+ (* -2 (/ (+ (* t z) (* x y)) c)) (* 2 (* a i))) c))))
(* (pow c 2) (- (* -1 (/ (- (* -1 (/ (+ (* t z) (* x y)) c)) (* -1 (* a i))) c)) (* b i)))
(+ (* -2 (* c (* i (+ a (* b c))))) (* 2 (+ (* t z) (* x y))))
(+ (* -1 (* c (* i (+ a (* b c))))) (+ (* t z) (* x y)))
(* c (* i (+ a (* b c))))
(* -2 (* c (* i (+ a (* b c)))))
(* i (+ (* -2 (* c (+ a (* b c)))) (* 2 (/ (+ (* t z) (* x y)) i))))
(* -1 (* c (* i (+ a (* b c)))))
(* i (- (+ (/ (* t z) i) (/ (* x y) i)) (* c (+ a (* b c)))))
(* -1 (* i (+ (* -2 (/ (+ (* t z) (* x y)) i)) (* 2 (* c (+ a (* b c)))))))
(* -1 (* i (- (* -1 (/ (+ (* t z) (* x y)) i)) (* -1 (* c (+ a (* b c)))))))
Outputs
(* 2 (- (* t z) (* c (* i (+ a (* b c))))))
(*.f64 #s(literal 2 binary64) (-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
(+ (* 2 (* x y)) (* 2 (- (* t z) (* c (* i (+ a (* b c)))))))
(-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i))
(- (* t z) (* c (* i (+ a (* b c)))))
(+.f64 (*.f64 x y) (*.f64 z t))
(- (+ (* t z) (* x y)) (* c (* i (+ a (* b c)))))
(*.f64 x y)
(* t z)
(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)
(+ (* t z) (* x y))
(*.f64 (+.f64 a (*.f64 b c)) c)

rewrite0.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated
Counts
6 → 6
Calls
Call 1
Inputs
(*.f64 #s(literal 2 binary64) (-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
(-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i))
(+.f64 (*.f64 x y) (*.f64 z t))
(*.f64 x y)
(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)
(*.f64 (+.f64 a (*.f64 b c)) c)
Outputs
(*.f64 #s(literal 2 binary64) (-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
(-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i))
(+.f64 (*.f64 x y) (*.f64 z t))
(*.f64 x y)
(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)
(*.f64 (+.f64 a (*.f64 b c)) c)

eval3.0ms (0.1%)

Memory
-35.3MiB live, 3.0MiB allocated
Compiler

Compiled 296 to 40 computations (86.5% saved)

prune2.0ms (0.1%)

Memory
4.3MiB live, 4.3MiB allocated
Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New8412
Fresh000
Picked011
Done000
Total8513
Accuracy
97.0%
Counts
13 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
92.3%
(*.f64 #s(literal 2 binary64) (-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
28.4%
(*.f64 #s(literal 2 binary64) (-.f64 #s(approx (+ (* x y) (* z t)) (*.f64 (+.f64 a (*.f64 b c)) c)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
61.2%
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t))))
31.9%
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))
52.4%
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
Compiler

Compiled 133 to 106 computations (20.3% saved)

simplify1.0ms (0%)

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

Found 15 expressions of interest:

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

localize50.0ms (2.2%)

Memory
14.7MiB live, 92.0MiB allocated
Localize:

Found 15 expressions of interest:

NewMetricScoreProgram
accuracy0.05859375
(*.f64 (+.f64 a (*.f64 b c)) c)
accuracy1.5468688074906176
(-.f64 #s(approx (+ (* x y) (* z t)) (*.f64 (+.f64 a (*.f64 b c)) c)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i))
accuracy4.583911025175191
(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)
accuracy59.96828795725475
#s(approx (+ (* x y) (* z t)) (*.f64 (+.f64 a (*.f64 b c)) c))
accuracy0.0
(*.f64 x y)
accuracy0.0
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t))))
accuracy0.20312500000000003
(+.f64 (*.f64 x y) (*.f64 z t))
accuracy24.668418962172407
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t)))
accuracy0.0
(*.f64 x y)
accuracy0.0
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))
accuracy43.59206532241743
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))
accuracy0.20312500000000003
(+.f64 (*.f64 x y) (*.f64 z t))
accuracy1.5468688074906176
(-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i))
accuracy4.583911025175191
(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)
accuracy27.60763085130445
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
Samples
34.0ms256×0valid
Compiler

Compiled 566 to 55 computations (90.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 14.0ms
ival-mult: 10.0ms (70.3% of total)
ival-add: 2.0ms (14.1% of total)
ival-sub: 1.0ms (7% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series23.0ms (1%)

Memory
-5.1MiB live, 37.5MiB allocated
Counts
13 → 94
Calls
Call 1
Inputs
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
(-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i))
(+.f64 (*.f64 x y) (*.f64 z t))
(*.f64 x y)
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t))))
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t)))
(*.f64 #s(literal 2 binary64) (-.f64 #s(approx (+ (* x y) (* z t)) (*.f64 (+.f64 a (*.f64 b c)) c)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
(-.f64 #s(approx (+ (* x y) (* z t)) (*.f64 (+.f64 a (*.f64 b c)) c)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i))
#s(approx (+ (* x y) (* z t)) (*.f64 (+.f64 a (*.f64 b c)) c))
(*.f64 (+.f64 a (*.f64 b c)) c)
(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)
Outputs
(* 2 (- (* t z) (* c (* i (+ a (* b c))))))
(+ (* 2 (* x y)) (* 2 (- (* t z) (* c (* i (+ a (* b c)))))))
(- (* t z) (* c (* i (+ a (* b c)))))
(- (+ (* t z) (* x y)) (* c (* i (+ a (* b c)))))
(* t z)
(+ (* t z) (* x y))
(* x y)
(* 2 (* x y))
(* x (+ (* 2 y) (* 2 (/ (- (* t z) (* c (* i (+ a (* b c))))) x))))
(* x (- (+ y (/ (* t z) x)) (/ (* c (* i (+ a (* b c)))) x)))
(* x (+ y (/ (* t z) x)))
(* -1 (* x (+ (* -2 y) (* -2 (/ (- (* t z) (* c (* i (+ a (* b c))))) x)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ (- (* t z) (* c (* i (+ a (* b c))))) x)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ (* t z) x)))))
(* y (+ (* 2 x) (* 2 (/ (- (* t z) (* c (* i (+ a (* b c))))) y))))
(* y (- (+ x (/ (* t z) y)) (/ (* c (* i (+ a (* b c)))) y)))
(* y (+ x (/ (* t z) y)))
(* -1 (* y (+ (* -2 x) (* -2 (/ (- (* t z) (* c (* i (+ a (* b c))))) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (- (* t z) (* c (* i (+ a (* b c))))) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* t z) y)))))
(* 2 (- (* x y) (* c (* i (+ a (* b c))))))
(+ (* 2 (* t z)) (* 2 (- (* x y) (* c (* i (+ a (* b c)))))))
(- (* x y) (* c (* i (+ a (* b c)))))
(* 2 (* t z))
(* z (+ (* 2 t) (* 2 (/ (- (* x y) (* c (* i (+ a (* b c))))) z))))
(* z (- (+ t (/ (* x y) z)) (/ (* c (* i (+ a (* b c)))) z)))
(* z (+ t (/ (* x y) z)))
(* -1 (* z (+ (* -2 t) (* -2 (/ (- (* x y) (* c (* i (+ a (* b c))))) z)))))
(* -1 (* z (+ (* -1 t) (* -1 (/ (- (* x y) (* c (* i (+ a (* b c))))) z)))))
(* -1 (* z (+ (* -1 t) (* -1 (/ (* x y) z)))))
(* t (+ (* 2 z) (* 2 (/ (- (* x y) (* c (* i (+ a (* b c))))) t))))
(* t (- (+ z (/ (* x y) t)) (/ (* c (* i (+ a (* b c)))) t)))
(* t (+ z (/ (* x y) t)))
(* -1 (* t (+ (* -2 z) (* -2 (/ (- (* x y) (* c (* i (+ a (* b c))))) t)))))
(* -1 (* t (+ (* -1 z) (* -1 (/ (- (* x y) (* c (* i (+ a (* b c))))) t)))))
(* -1 (* t (+ (* -1 z) (* -1 (/ (* x y) t)))))
(* 2 (- (+ (* t z) (* x y)) (* b (* (pow c 2) i))))
(+ (* -2 (* a (* c i))) (* 2 (- (+ (* t z) (* x y)) (* b (* (pow c 2) i)))))
(- (+ (* t z) (* x y)) (* b (* (pow c 2) i)))
(- (+ (* -1 (* a (* c i))) (+ (* t z) (* x y))) (* b (* (pow c 2) i)))
(* b (pow c 2))
(+ (* a c) (* b (pow c 2)))
(* b (* (pow c 2) i))
(+ (* a (* c i)) (* b (* (pow c 2) i)))
(* -2 (* a (* c i)))
(* a (+ (* -2 (* c i)) (* 2 (/ (- (+ (* t z) (* x y)) (* b (* (pow c 2) i))) a))))
(* -1 (* a (* c i)))
(* a (- (+ (/ (* t z) a) (/ (* x y) a)) (+ (* c i) (/ (* b (* (pow c 2) i)) a))))
(* a c)
(* a (+ c (/ (* b (pow c 2)) a)))
(* a (* c i))
(* a (+ (* c i) (/ (* b (* (pow c 2) i)) a)))
(* -1 (* a (+ (* -2 (/ (- (+ (* t z) (* x y)) (* b (* (pow c 2) i))) a)) (* 2 (* c i)))))
(* -1 (* a (- (* -1 (/ (- (+ (* t z) (* x y)) (* b (* (pow c 2) i))) a)) (* -1 (* c i)))))
(* -1 (* a (+ (* -1 c) (* -1 (/ (* b (pow c 2)) a)))))
(* -1 (* a (+ (* -1 (* c i)) (* -1 (/ (* b (* (pow c 2) i)) a)))))
(* 2 (- (+ (* t z) (* x y)) (* a (* c i))))
(+ (* -2 (* b (* (pow c 2) i))) (* 2 (- (+ (* t z) (* x y)) (* a (* c i)))))
(- (+ (* t z) (* x y)) (* a (* c i)))
(- (+ (* -1 (* b (* (pow c 2) i))) (+ (* t z) (* x y))) (* a (* c i)))
(* -2 (* b (* (pow c 2) i)))
(* b (+ (* -2 (* (pow c 2) i)) (* 2 (/ (- (+ (* t z) (* x y)) (* a (* c i))) b))))
(* -1 (* b (* (pow c 2) i)))
(* b (- (+ (/ (* t z) b) (/ (* x y) b)) (+ (* (pow c 2) i) (/ (* a (* c i)) b))))
(* b (+ (/ (* a c) b) (pow c 2)))
(* b (+ (* (pow c 2) i) (/ (* a (* c i)) b)))
(* -1 (* b (+ (* -2 (/ (- (+ (* t z) (* x y)) (* a (* c i))) b)) (* 2 (* (pow c 2) i)))))
(* -1 (* b (- (* -1 (/ (- (+ (* t z) (* x y)) (* a (* c i))) b)) (* -1 (* (pow c 2) i)))))
(* -1 (* b (+ (* -1 (/ (* a c) b)) (* -1 (pow c 2)))))
(* -1 (* b (+ (* -1 (* (pow c 2) i)) (* -1 (/ (* a (* c i)) b)))))
(* 2 (+ (* t z) (* x y)))
(+ (* -2 (* a (* c i))) (* 2 (+ (* t z) (* x y))))
(+ (* 2 (+ (* t z) (* x y))) (* c (+ (* -2 (* a i)) (* -2 (* b (* c i))))))
(+ (* -1 (* a (* c i))) (+ (* t z) (* x y)))
(+ (* c (- (* -1 (* b (* c i))) (* a i))) (+ (* t z) (* x y)))
(* c (+ a (* b c)))
(* c (+ (* a i) (* b (* c i))))
(* (pow c 2) (+ (* -2 (* b i)) (* -2 (/ (* a i) c))))
(* (pow c 2) (+ (* -2 (* b i)) (+ (* -2 (/ (* a i) c)) (* 2 (/ (+ (* t z) (* x y)) (pow c 2))))))
(* (pow c 2) (- (* -1 (/ (* a i) c)) (* b i)))
(* (pow c 2) (- (+ (/ (* t z) (pow c 2)) (/ (* x y) (pow c 2))) (+ (* b i) (/ (* a i) c))))
(* (pow c 2) (+ b (/ a c)))
(* (pow c 2) (+ (* b i) (/ (* a i) c)))
(* (pow c 2) (+ (* -2 (* b i)) (* -1 (/ (+ (* -2 (/ (+ (* t z) (* x y)) c)) (* 2 (* a i))) c))))
(* (pow c 2) (- (* -1 (/ (- (* -1 (/ (+ (* t z) (* x y)) c)) (* -1 (* a i))) c)) (* b i)))
(+ (* -2 (* c (* i (+ a (* b c))))) (* 2 (+ (* t z) (* x y))))
(+ (* -1 (* c (* i (+ a (* b c))))) (+ (* t z) (* x y)))
(* c (* i (+ a (* b c))))
(* -2 (* c (* i (+ a (* b c)))))
(* i (+ (* -2 (* c (+ a (* b c)))) (* 2 (/ (+ (* t z) (* x y)) i))))
(* -1 (* c (* i (+ a (* b c)))))
(* i (- (+ (/ (* t z) i) (/ (* x y) i)) (* c (+ a (* b c)))))
(* -1 (* i (+ (* -2 (/ (+ (* t z) (* x y)) i)) (* 2 (* c (+ a (* b c)))))))
(* -1 (* i (- (* -1 (/ (+ (* t z) (* x y)) i)) (* -1 (* c (+ a (* b c)))))))
Calls

24 calls:

TimeVariablePointExpression
1.0ms
i
@-inf
((* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+ (* x y) (* z t)) (* x y) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+ (* x y) (* z t)) (* (+ a (* b c)) c) (* (* (+ a (* b c)) c) i))
1.0ms
a
@-inf
((* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+ (* x y) (* z t)) (* x y) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+ (* x y) (* z t)) (* (+ a (* b c)) c) (* (* (+ a (* b c)) c) i))
1.0ms
c
@-inf
((* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+ (* x y) (* z t)) (* x y) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+ (* x y) (* z t)) (* (+ a (* b c)) c) (* (* (+ a (* b c)) c) i))
1.0ms
y
@-inf
((* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+ (* x y) (* z t)) (* x y) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+ (* x y) (* z t)) (* (+ a (* b c)) c) (* (* (+ a (* b c)) c) i))
1.0ms
x
@-inf
((* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+ (* x y) (* z t)) (* x y) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+ (* x y) (* z t)) (* (+ a (* b c)) c) (* (* (+ a (* b c)) c) i))

simplify1.0ms (0.1%)

Memory
2.4MiB live, 2.4MiB allocated
Algorithm
egg-herbie
Counts
94 → 13
Calls
Call 1
Inputs
(* 2 (- (* t z) (* c (* i (+ a (* b c))))))
(+ (* 2 (* x y)) (* 2 (- (* t z) (* c (* i (+ a (* b c)))))))
(- (* t z) (* c (* i (+ a (* b c)))))
(- (+ (* t z) (* x y)) (* c (* i (+ a (* b c)))))
(* t z)
(+ (* t z) (* x y))
(* x y)
(* 2 (* x y))
(* x (+ (* 2 y) (* 2 (/ (- (* t z) (* c (* i (+ a (* b c))))) x))))
(* x (- (+ y (/ (* t z) x)) (/ (* c (* i (+ a (* b c)))) x)))
(* x (+ y (/ (* t z) x)))
(* -1 (* x (+ (* -2 y) (* -2 (/ (- (* t z) (* c (* i (+ a (* b c))))) x)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ (- (* t z) (* c (* i (+ a (* b c))))) x)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ (* t z) x)))))
(* y (+ (* 2 x) (* 2 (/ (- (* t z) (* c (* i (+ a (* b c))))) y))))
(* y (- (+ x (/ (* t z) y)) (/ (* c (* i (+ a (* b c)))) y)))
(* y (+ x (/ (* t z) y)))
(* -1 (* y (+ (* -2 x) (* -2 (/ (- (* t z) (* c (* i (+ a (* b c))))) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (- (* t z) (* c (* i (+ a (* b c))))) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* t z) y)))))
(* 2 (- (* x y) (* c (* i (+ a (* b c))))))
(+ (* 2 (* t z)) (* 2 (- (* x y) (* c (* i (+ a (* b c)))))))
(- (* x y) (* c (* i (+ a (* b c)))))
(* 2 (* t z))
(* z (+ (* 2 t) (* 2 (/ (- (* x y) (* c (* i (+ a (* b c))))) z))))
(* z (- (+ t (/ (* x y) z)) (/ (* c (* i (+ a (* b c)))) z)))
(* z (+ t (/ (* x y) z)))
(* -1 (* z (+ (* -2 t) (* -2 (/ (- (* x y) (* c (* i (+ a (* b c))))) z)))))
(* -1 (* z (+ (* -1 t) (* -1 (/ (- (* x y) (* c (* i (+ a (* b c))))) z)))))
(* -1 (* z (+ (* -1 t) (* -1 (/ (* x y) z)))))
(* t (+ (* 2 z) (* 2 (/ (- (* x y) (* c (* i (+ a (* b c))))) t))))
(* t (- (+ z (/ (* x y) t)) (/ (* c (* i (+ a (* b c)))) t)))
(* t (+ z (/ (* x y) t)))
(* -1 (* t (+ (* -2 z) (* -2 (/ (- (* x y) (* c (* i (+ a (* b c))))) t)))))
(* -1 (* t (+ (* -1 z) (* -1 (/ (- (* x y) (* c (* i (+ a (* b c))))) t)))))
(* -1 (* t (+ (* -1 z) (* -1 (/ (* x y) t)))))
(* 2 (- (+ (* t z) (* x y)) (* b (* (pow c 2) i))))
(+ (* -2 (* a (* c i))) (* 2 (- (+ (* t z) (* x y)) (* b (* (pow c 2) i)))))
(- (+ (* t z) (* x y)) (* b (* (pow c 2) i)))
(- (+ (* -1 (* a (* c i))) (+ (* t z) (* x y))) (* b (* (pow c 2) i)))
(* b (pow c 2))
(+ (* a c) (* b (pow c 2)))
(* b (* (pow c 2) i))
(+ (* a (* c i)) (* b (* (pow c 2) i)))
(* -2 (* a (* c i)))
(* a (+ (* -2 (* c i)) (* 2 (/ (- (+ (* t z) (* x y)) (* b (* (pow c 2) i))) a))))
(* -1 (* a (* c i)))
(* a (- (+ (/ (* t z) a) (/ (* x y) a)) (+ (* c i) (/ (* b (* (pow c 2) i)) a))))
(* a c)
(* a (+ c (/ (* b (pow c 2)) a)))
(* a (* c i))
(* a (+ (* c i) (/ (* b (* (pow c 2) i)) a)))
(* -1 (* a (+ (* -2 (/ (- (+ (* t z) (* x y)) (* b (* (pow c 2) i))) a)) (* 2 (* c i)))))
(* -1 (* a (- (* -1 (/ (- (+ (* t z) (* x y)) (* b (* (pow c 2) i))) a)) (* -1 (* c i)))))
(* -1 (* a (+ (* -1 c) (* -1 (/ (* b (pow c 2)) a)))))
(* -1 (* a (+ (* -1 (* c i)) (* -1 (/ (* b (* (pow c 2) i)) a)))))
(* 2 (- (+ (* t z) (* x y)) (* a (* c i))))
(+ (* -2 (* b (* (pow c 2) i))) (* 2 (- (+ (* t z) (* x y)) (* a (* c i)))))
(- (+ (* t z) (* x y)) (* a (* c i)))
(- (+ (* -1 (* b (* (pow c 2) i))) (+ (* t z) (* x y))) (* a (* c i)))
(* -2 (* b (* (pow c 2) i)))
(* b (+ (* -2 (* (pow c 2) i)) (* 2 (/ (- (+ (* t z) (* x y)) (* a (* c i))) b))))
(* -1 (* b (* (pow c 2) i)))
(* b (- (+ (/ (* t z) b) (/ (* x y) b)) (+ (* (pow c 2) i) (/ (* a (* c i)) b))))
(* b (+ (/ (* a c) b) (pow c 2)))
(* b (+ (* (pow c 2) i) (/ (* a (* c i)) b)))
(* -1 (* b (+ (* -2 (/ (- (+ (* t z) (* x y)) (* a (* c i))) b)) (* 2 (* (pow c 2) i)))))
(* -1 (* b (- (* -1 (/ (- (+ (* t z) (* x y)) (* a (* c i))) b)) (* -1 (* (pow c 2) i)))))
(* -1 (* b (+ (* -1 (/ (* a c) b)) (* -1 (pow c 2)))))
(* -1 (* b (+ (* -1 (* (pow c 2) i)) (* -1 (/ (* a (* c i)) b)))))
(* 2 (+ (* t z) (* x y)))
(+ (* -2 (* a (* c i))) (* 2 (+ (* t z) (* x y))))
(+ (* 2 (+ (* t z) (* x y))) (* c (+ (* -2 (* a i)) (* -2 (* b (* c i))))))
(+ (* -1 (* a (* c i))) (+ (* t z) (* x y)))
(+ (* c (- (* -1 (* b (* c i))) (* a i))) (+ (* t z) (* x y)))
(* c (+ a (* b c)))
(* c (+ (* a i) (* b (* c i))))
(* (pow c 2) (+ (* -2 (* b i)) (* -2 (/ (* a i) c))))
(* (pow c 2) (+ (* -2 (* b i)) (+ (* -2 (/ (* a i) c)) (* 2 (/ (+ (* t z) (* x y)) (pow c 2))))))
(* (pow c 2) (- (* -1 (/ (* a i) c)) (* b i)))
(* (pow c 2) (- (+ (/ (* t z) (pow c 2)) (/ (* x y) (pow c 2))) (+ (* b i) (/ (* a i) c))))
(* (pow c 2) (+ b (/ a c)))
(* (pow c 2) (+ (* b i) (/ (* a i) c)))
(* (pow c 2) (+ (* -2 (* b i)) (* -1 (/ (+ (* -2 (/ (+ (* t z) (* x y)) c)) (* 2 (* a i))) c))))
(* (pow c 2) (- (* -1 (/ (- (* -1 (/ (+ (* t z) (* x y)) c)) (* -1 (* a i))) c)) (* b i)))
(+ (* -2 (* c (* i (+ a (* b c))))) (* 2 (+ (* t z) (* x y))))
(+ (* -1 (* c (* i (+ a (* b c))))) (+ (* t z) (* x y)))
(* c (* i (+ a (* b c))))
(* -2 (* c (* i (+ a (* b c)))))
(* i (+ (* -2 (* c (+ a (* b c)))) (* 2 (/ (+ (* t z) (* x y)) i))))
(* -1 (* c (* i (+ a (* b c)))))
(* i (- (+ (/ (* t z) i) (/ (* x y) i)) (* c (+ a (* b c)))))
(* -1 (* i (+ (* -2 (/ (+ (* t z) (* x y)) i)) (* 2 (* c (+ a (* b c)))))))
(* -1 (* i (- (* -1 (/ (+ (* t z) (* x y)) i)) (* -1 (* c (+ a (* b c)))))))
Outputs
(* 2 (- (* t z) (* c (* i (+ a (* b c))))))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
(+ (* 2 (* x y)) (* 2 (- (* t z) (* c (* i (+ a (* b c)))))))
(-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i))
(- (* t z) (* c (* i (+ a (* b c)))))
(+.f64 (*.f64 x y) (*.f64 z t))
(- (+ (* t z) (* x y)) (* c (* i (+ a (* b c)))))
(*.f64 x y)
(* t z)
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))
(+ (* t z) (* x y))
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))
(* x y)
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t))))
(* 2 (* x y))
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t)))
(* x (+ (* 2 y) (* 2 (/ (- (* t z) (* c (* i (+ a (* b c))))) x))))
(*.f64 #s(literal 2 binary64) (-.f64 #s(approx (+ (* x y) (* z t)) (*.f64 (+.f64 a (*.f64 b c)) c)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
(* x (- (+ y (/ (* t z) x)) (/ (* c (* i (+ a (* b c)))) x)))
(-.f64 #s(approx (+ (* x y) (* z t)) (*.f64 (+.f64 a (*.f64 b c)) c)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i))
(* x (+ y (/ (* t z) x)))
#s(approx (+ (* x y) (* z t)) (*.f64 (+.f64 a (*.f64 b c)) c))
(* -1 (* x (+ (* -2 y) (* -2 (/ (- (* t z) (* c (* i (+ a (* b c))))) x)))))
(*.f64 (+.f64 a (*.f64 b c)) c)
(* -1 (* x (+ (* -1 y) (* -1 (/ (- (* t z) (* c (* i (+ a (* b c))))) x)))))
(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)

rewrite1.0ms (0%)

Memory
1.4MiB live, 1.4MiB allocated
Counts
13 → 13
Calls
Call 1
Inputs
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
(-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i))
(+.f64 (*.f64 x y) (*.f64 z t))
(*.f64 x y)
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t))))
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t)))
(*.f64 #s(literal 2 binary64) (-.f64 #s(approx (+ (* x y) (* z t)) (*.f64 (+.f64 a (*.f64 b c)) c)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
(-.f64 #s(approx (+ (* x y) (* z t)) (*.f64 (+.f64 a (*.f64 b c)) c)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i))
#s(approx (+ (* x y) (* z t)) (*.f64 (+.f64 a (*.f64 b c)) c))
(*.f64 (+.f64 a (*.f64 b c)) c)
(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)
Outputs
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
(-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i))
(+.f64 (*.f64 x y) (*.f64 z t))
(*.f64 x y)
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t))))
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t)))
(*.f64 #s(literal 2 binary64) (-.f64 #s(approx (+ (* x y) (* z t)) (*.f64 (+.f64 a (*.f64 b c)) c)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
(-.f64 #s(approx (+ (* x y) (* z t)) (*.f64 (+.f64 a (*.f64 b c)) c)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i))
#s(approx (+ (* x y) (* z t)) (*.f64 (+.f64 a (*.f64 b c)) c))
(*.f64 (+.f64 a (*.f64 b c)) c)
(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)

eval3.0ms (0.1%)

Memory
6.6MiB live, 6.6MiB allocated
Compiler

Compiled 1 370 to 67 computations (95.1% saved)

prune9.0ms (0.4%)

Memory
-22.1MiB live, 16.4MiB allocated
Pruning

12 alts after pruning (9 fresh and 3 done)

PrunedKeptTotal
New25934
Fresh000
Picked224
Done011
Total271239
Accuracy
97.4%
Counts
39 → 12
Alt Table
Click to see full alt table
StatusAccuracyProgram
92.3%
(*.f64 #s(literal 2 binary64) (-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
61.2%
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t))))
32.6%
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 #s(approx (* x y) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t))))) (*.f64 z t))))
31.9%
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))
16.8%
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (+ (* x y) (* z t)) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))))))
13.8%
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (+ (* x y) (* z t)) #s(approx (+ (* x y) (* z t)) (*.f64 (+.f64 a (*.f64 b c)) c)))))
32.8%
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (* x y) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t)))))))
58.0%
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (-.f64 #s(approx (+ (* x y) (* z t)) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
42.9%
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (-.f64 #s(approx (+ (* x y) (* z t)) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
13.8%
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (*.f64 (+.f64 a (*.f64 b c)) c))
32.2%
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t))))
16.7%
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))
Compiler

Compiled 935 to 500 computations (46.5% saved)

simplify2.0ms (0.1%)

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

Found 19 expressions of interest:

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

localize57.0ms (2.5%)

Memory
15.7MiB live, 91.4MiB allocated
Localize:

Found 19 expressions of interest:

NewMetricScoreProgram
accuracy4.583911025175191
(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)
accuracy24.668418962172407
#s(approx (+ (* x y) (* z t)) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))
accuracy27.60763085130445
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (-.f64 #s(approx (+ (* x y) (* z t)) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
accuracy43.59206532241743
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))
accuracy0.00390625
(+.f64 a (*.f64 b c))
accuracy0.05859375
(*.f64 (+.f64 a (*.f64 b c)) c)
accuracy24.668418962172407
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (+ (* x y) (* z t)) #s(approx (+ (* x y) (* z t)) (*.f64 (+.f64 a (*.f64 b c)) c))))
accuracy59.96828795725475
#s(approx (+ (* x y) (* z t)) (*.f64 (+.f64 a (*.f64 b c)) c))
accuracy0.0
(*.f64 b c)
accuracy0.00390625
(+.f64 a (*.f64 b c))
accuracy0.05859375
(*.f64 (+.f64 a (*.f64 b c)) c)
accuracy55.16924328110756
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (*.f64 (+.f64 a (*.f64 b c)) c))
accuracy0.0
(*.f64 x y)
accuracy27.60763085130445
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))
accuracy43.59206532241743
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))
accuracy4.583911025175191
(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)
accuracy27.60763085130445
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (-.f64 #s(approx (+ (* x y) (* z t)) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
accuracy43.169336383430604
#s(approx (+ (* x y) (* z t)) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))))
accuracy43.59206532241743
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))
Samples
37.0ms256×0valid
Compiler

Compiled 1 000 to 58 computations (94.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 13.0ms
ival-mult: 9.0ms (67% of total)
ival-add: 2.0ms (14.9% of total)
ival-sub: 1.0ms (7.4% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series27.0ms (1.2%)

Memory
5.8MiB live, 48.3MiB allocated
Counts
19 → 103
Calls
Call 1
Inputs
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (-.f64 #s(approx (+ (* x y) (* z t)) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
(-.f64 #s(approx (+ (* x y) (* z t)) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i))
#s(approx (+ (* x y) (* z t)) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))
(*.f64 x y)
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (*.f64 (+.f64 a (*.f64 b c)) c))
(*.f64 (+.f64 a (*.f64 b c)) c)
(+.f64 a (*.f64 b c))
(*.f64 b c)
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (+ (* x y) (* z t)) #s(approx (+ (* x y) (* z t)) (*.f64 (+.f64 a (*.f64 b c)) c)))))
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (+ (* x y) (* z t)) #s(approx (+ (* x y) (* z t)) (*.f64 (+.f64 a (*.f64 b c)) c))))
#s(approx (+ (* x y) (* z t)) #s(approx (+ (* x y) (* z t)) (*.f64 (+.f64 a (*.f64 b c)) c)))
#s(approx (+ (* x y) (* z t)) (*.f64 (+.f64 a (*.f64 b c)) c))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (-.f64 #s(approx (+ (* x y) (* z t)) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
(-.f64 #s(approx (+ (* x y) (* z t)) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i))
#s(approx (+ (* x y) (* z t)) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))
(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)
Outputs
(* 2 (- (* t z) (* c (* i (+ a (* b c))))))
(+ (* 2 (* x y)) (* 2 (- (* t z) (* c (* i (+ a (* b c)))))))
(- (* t z) (* c (* i (+ a (* b c)))))
(- (+ (* t z) (* x y)) (* c (* i (+ a (* b c)))))
(* t z)
(+ (* t z) (* x y))
(* x y)
(* 2 (* x y))
(* x (+ (* 2 y) (* 2 (/ (- (* t z) (* c (* i (+ a (* b c))))) x))))
(* x (- (+ y (/ (* t z) x)) (/ (* c (* i (+ a (* b c)))) x)))
(* x (+ y (/ (* t z) x)))
(* -1 (* x (+ (* -2 y) (* -2 (/ (- (* t z) (* c (* i (+ a (* b c))))) x)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ (- (* t z) (* c (* i (+ a (* b c))))) x)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ (* t z) x)))))
(* y (+ (* 2 x) (* 2 (/ (- (* t z) (* c (* i (+ a (* b c))))) y))))
(* y (- (+ x (/ (* t z) y)) (/ (* c (* i (+ a (* b c)))) y)))
(* y (+ x (/ (* t z) y)))
(* -1 (* y (+ (* -2 x) (* -2 (/ (- (* t z) (* c (* i (+ a (* b c))))) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (- (* t z) (* c (* i (+ a (* b c))))) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* t z) y)))))
(* 2 (- (* x y) (* c (* i (+ a (* b c))))))
(+ (* 2 (* t z)) (* 2 (- (* x y) (* c (* i (+ a (* b c)))))))
(- (* x y) (* c (* i (+ a (* b c)))))
(* 2 (* t z))
(* z (+ (* 2 t) (* 2 (/ (- (* x y) (* c (* i (+ a (* b c))))) z))))
(* z (- (+ t (/ (* x y) z)) (/ (* c (* i (+ a (* b c)))) z)))
(* z (+ t (/ (* x y) z)))
(* -1 (* z (+ (* -2 t) (* -2 (/ (- (* x y) (* c (* i (+ a (* b c))))) z)))))
(* -1 (* z (+ (* -1 t) (* -1 (/ (- (* x y) (* c (* i (+ a (* b c))))) z)))))
(* -1 (* z (+ (* -1 t) (* -1 (/ (* x y) z)))))
(* t (+ (* 2 z) (* 2 (/ (- (* x y) (* c (* i (+ a (* b c))))) t))))
(* t (- (+ z (/ (* x y) t)) (/ (* c (* i (+ a (* b c)))) t)))
(* t (+ z (/ (* x y) t)))
(* -1 (* t (+ (* -2 z) (* -2 (/ (- (* x y) (* c (* i (+ a (* b c))))) t)))))
(* -1 (* t (+ (* -1 z) (* -1 (/ (- (* x y) (* c (* i (+ a (* b c))))) t)))))
(* -1 (* t (+ (* -1 z) (* -1 (/ (* x y) t)))))
(* 2 (- (+ (* t z) (* x y)) (* b (* (pow c 2) i))))
(+ (* -2 (* a (* c i))) (* 2 (- (+ (* t z) (* x y)) (* b (* (pow c 2) i)))))
(- (+ (* t z) (* x y)) (* b (* (pow c 2) i)))
(- (+ (* -1 (* a (* c i))) (+ (* t z) (* x y))) (* b (* (pow c 2) i)))
(* b (pow c 2))
(+ (* a c) (* b (pow c 2)))
(* b c)
(+ a (* b c))
(* b (* (pow c 2) i))
(+ (* a (* c i)) (* b (* (pow c 2) i)))
(* -2 (* a (* c i)))
(* a (+ (* -2 (* c i)) (* 2 (/ (- (+ (* t z) (* x y)) (* b (* (pow c 2) i))) a))))
(* -1 (* a (* c i)))
(* a (- (+ (/ (* t z) a) (/ (* x y) a)) (+ (* c i) (/ (* b (* (pow c 2) i)) a))))
(* a c)
(* a (+ c (/ (* b (pow c 2)) a)))
a
(* a (+ 1 (/ (* b c) a)))
(* a (* c i))
(* a (+ (* c i) (/ (* b (* (pow c 2) i)) a)))
(* -1 (* a (+ (* -2 (/ (- (+ (* t z) (* x y)) (* b (* (pow c 2) i))) a)) (* 2 (* c i)))))
(* -1 (* a (- (* -1 (/ (- (+ (* t z) (* x y)) (* b (* (pow c 2) i))) a)) (* -1 (* c i)))))
(* -1 (* a (+ (* -1 c) (* -1 (/ (* b (pow c 2)) a)))))
(* -1 (* a (- (* -1 (/ (* b c) a)) 1)))
(* -1 (* a (+ (* -1 (* c i)) (* -1 (/ (* b (* (pow c 2) i)) a)))))
(* 2 (- (+ (* t z) (* x y)) (* a (* c i))))
(+ (* -2 (* b (* (pow c 2) i))) (* 2 (- (+ (* t z) (* x y)) (* a (* c i)))))
(- (+ (* t z) (* x y)) (* a (* c i)))
(- (+ (* -1 (* b (* (pow c 2) i))) (+ (* t z) (* x y))) (* a (* c i)))
(* -2 (* b (* (pow c 2) i)))
(* b (+ (* -2 (* (pow c 2) i)) (* 2 (/ (- (+ (* t z) (* x y)) (* a (* c i))) b))))
(* -1 (* b (* (pow c 2) i)))
(* b (- (+ (/ (* t z) b) (/ (* x y) b)) (+ (* (pow c 2) i) (/ (* a (* c i)) b))))
(* b (+ (/ (* a c) b) (pow c 2)))
(* b (+ c (/ a b)))
(* b (+ (* (pow c 2) i) (/ (* a (* c i)) b)))
(* -1 (* b (+ (* -2 (/ (- (+ (* t z) (* x y)) (* a (* c i))) b)) (* 2 (* (pow c 2) i)))))
(* -1 (* b (- (* -1 (/ (- (+ (* t z) (* x y)) (* a (* c i))) b)) (* -1 (* (pow c 2) i)))))
(* -1 (* b (+ (* -1 (/ (* a c) b)) (* -1 (pow c 2)))))
(* -1 (* b (+ (* -1 c) (* -1 (/ a b)))))
(* -1 (* b (+ (* -1 (* (pow c 2) i)) (* -1 (/ (* a (* c i)) b)))))
(* 2 (+ (* t z) (* x y)))
(+ (* -2 (* a (* c i))) (* 2 (+ (* t z) (* x y))))
(+ (* 2 (+ (* t z) (* x y))) (* c (+ (* -2 (* a i)) (* -2 (* b (* c i))))))
(+ (* -1 (* a (* c i))) (+ (* t z) (* x y)))
(+ (* c (- (* -1 (* b (* c i))) (* a i))) (+ (* t z) (* x y)))
(* c (+ a (* b c)))
(* c (+ (* a i) (* b (* c i))))
(* (pow c 2) (+ (* -2 (* b i)) (* -2 (/ (* a i) c))))
(* (pow c 2) (+ (* -2 (* b i)) (+ (* -2 (/ (* a i) c)) (* 2 (/ (+ (* t z) (* x y)) (pow c 2))))))
(* (pow c 2) (- (* -1 (/ (* a i) c)) (* b i)))
(* (pow c 2) (- (+ (/ (* t z) (pow c 2)) (/ (* x y) (pow c 2))) (+ (* b i) (/ (* a i) c))))
(* (pow c 2) (+ b (/ a c)))
(* c (+ b (/ a c)))
(* (pow c 2) (+ (* b i) (/ (* a i) c)))
(* (pow c 2) (+ (* -2 (* b i)) (* -1 (/ (+ (* -2 (/ (+ (* t z) (* x y)) c)) (* 2 (* a i))) c))))
(* (pow c 2) (- (* -1 (/ (- (* -1 (/ (+ (* t z) (* x y)) c)) (* -1 (* a i))) c)) (* b i)))
(* -1 (* c (+ (* -1 b) (* -1 (/ a c)))))
(+ (* -2 (* c (* i (+ a (* b c))))) (* 2 (+ (* t z) (* x y))))
(+ (* -1 (* c (* i (+ a (* b c))))) (+ (* t z) (* x y)))
(* c (* i (+ a (* b c))))
(* -2 (* c (* i (+ a (* b c)))))
(* i (+ (* -2 (* c (+ a (* b c)))) (* 2 (/ (+ (* t z) (* x y)) i))))
(* -1 (* c (* i (+ a (* b c)))))
(* i (- (+ (/ (* t z) i) (/ (* x y) i)) (* c (+ a (* b c)))))
(* -1 (* i (+ (* -2 (/ (+ (* t z) (* x y)) i)) (* 2 (* c (+ a (* b c)))))))
(* -1 (* i (- (* -1 (/ (+ (* t z) (* x y)) i)) (* -1 (* c (+ a (* b c)))))))
Calls

24 calls:

TimeVariablePointExpression
3.0ms
t
@inf
((* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+ (* x y) (* z t)) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (* x y) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (* (+ a (* b c)) c) (+ a (* b c)) (* b c) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+ (* x y) (* z t)) (+ (* x y) (* z t)) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))
1.0ms
b
@-inf
((* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+ (* x y) (* z t)) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (* x y) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (* (+ a (* b c)) c) (+ a (* b c)) (* b c) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+ (* x y) (* z t)) (+ (* x y) (* z t)) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))
1.0ms
c
@-inf
((* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+ (* x y) (* z t)) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (* x y) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (* (+ a (* b c)) c) (+ a (* b c)) (* b c) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+ (* x y) (* z t)) (+ (* x y) (* z t)) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))
1.0ms
b
@inf
((* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+ (* x y) (* z t)) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (* x y) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (* (+ a (* b c)) c) (+ a (* b c)) (* b c) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+ (* x y) (* z t)) (+ (* x y) (* z t)) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))
1.0ms
i
@-inf
((* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+ (* x y) (* z t)) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (* x y) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (* (+ a (* b c)) c) (+ a (* b c)) (* b c) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+ (* x y) (* z t)) (+ (* x y) (* z t)) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))

simplify2.0ms (0.1%)

Memory
2.6MiB live, 2.6MiB allocated
Algorithm
egg-herbie
Counts
103 → 19
Calls
Call 1
Inputs
(* 2 (- (* t z) (* c (* i (+ a (* b c))))))
(+ (* 2 (* x y)) (* 2 (- (* t z) (* c (* i (+ a (* b c)))))))
(- (* t z) (* c (* i (+ a (* b c)))))
(- (+ (* t z) (* x y)) (* c (* i (+ a (* b c)))))
(* t z)
(+ (* t z) (* x y))
(* x y)
(* 2 (* x y))
(* x (+ (* 2 y) (* 2 (/ (- (* t z) (* c (* i (+ a (* b c))))) x))))
(* x (- (+ y (/ (* t z) x)) (/ (* c (* i (+ a (* b c)))) x)))
(* x (+ y (/ (* t z) x)))
(* -1 (* x (+ (* -2 y) (* -2 (/ (- (* t z) (* c (* i (+ a (* b c))))) x)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ (- (* t z) (* c (* i (+ a (* b c))))) x)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ (* t z) x)))))
(* y (+ (* 2 x) (* 2 (/ (- (* t z) (* c (* i (+ a (* b c))))) y))))
(* y (- (+ x (/ (* t z) y)) (/ (* c (* i (+ a (* b c)))) y)))
(* y (+ x (/ (* t z) y)))
(* -1 (* y (+ (* -2 x) (* -2 (/ (- (* t z) (* c (* i (+ a (* b c))))) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (- (* t z) (* c (* i (+ a (* b c))))) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* t z) y)))))
(* 2 (- (* x y) (* c (* i (+ a (* b c))))))
(+ (* 2 (* t z)) (* 2 (- (* x y) (* c (* i (+ a (* b c)))))))
(- (* x y) (* c (* i (+ a (* b c)))))
(* 2 (* t z))
(* z (+ (* 2 t) (* 2 (/ (- (* x y) (* c (* i (+ a (* b c))))) z))))
(* z (- (+ t (/ (* x y) z)) (/ (* c (* i (+ a (* b c)))) z)))
(* z (+ t (/ (* x y) z)))
(* -1 (* z (+ (* -2 t) (* -2 (/ (- (* x y) (* c (* i (+ a (* b c))))) z)))))
(* -1 (* z (+ (* -1 t) (* -1 (/ (- (* x y) (* c (* i (+ a (* b c))))) z)))))
(* -1 (* z (+ (* -1 t) (* -1 (/ (* x y) z)))))
(* t (+ (* 2 z) (* 2 (/ (- (* x y) (* c (* i (+ a (* b c))))) t))))
(* t (- (+ z (/ (* x y) t)) (/ (* c (* i (+ a (* b c)))) t)))
(* t (+ z (/ (* x y) t)))
(* -1 (* t (+ (* -2 z) (* -2 (/ (- (* x y) (* c (* i (+ a (* b c))))) t)))))
(* -1 (* t (+ (* -1 z) (* -1 (/ (- (* x y) (* c (* i (+ a (* b c))))) t)))))
(* -1 (* t (+ (* -1 z) (* -1 (/ (* x y) t)))))
(* 2 (- (+ (* t z) (* x y)) (* b (* (pow c 2) i))))
(+ (* -2 (* a (* c i))) (* 2 (- (+ (* t z) (* x y)) (* b (* (pow c 2) i)))))
(- (+ (* t z) (* x y)) (* b (* (pow c 2) i)))
(- (+ (* -1 (* a (* c i))) (+ (* t z) (* x y))) (* b (* (pow c 2) i)))
(* b (pow c 2))
(+ (* a c) (* b (pow c 2)))
(* b c)
(+ a (* b c))
(* b (* (pow c 2) i))
(+ (* a (* c i)) (* b (* (pow c 2) i)))
(* -2 (* a (* c i)))
(* a (+ (* -2 (* c i)) (* 2 (/ (- (+ (* t z) (* x y)) (* b (* (pow c 2) i))) a))))
(* -1 (* a (* c i)))
(* a (- (+ (/ (* t z) a) (/ (* x y) a)) (+ (* c i) (/ (* b (* (pow c 2) i)) a))))
(* a c)
(* a (+ c (/ (* b (pow c 2)) a)))
a
(* a (+ 1 (/ (* b c) a)))
(* a (* c i))
(* a (+ (* c i) (/ (* b (* (pow c 2) i)) a)))
(* -1 (* a (+ (* -2 (/ (- (+ (* t z) (* x y)) (* b (* (pow c 2) i))) a)) (* 2 (* c i)))))
(* -1 (* a (- (* -1 (/ (- (+ (* t z) (* x y)) (* b (* (pow c 2) i))) a)) (* -1 (* c i)))))
(* -1 (* a (+ (* -1 c) (* -1 (/ (* b (pow c 2)) a)))))
(* -1 (* a (- (* -1 (/ (* b c) a)) 1)))
(* -1 (* a (+ (* -1 (* c i)) (* -1 (/ (* b (* (pow c 2) i)) a)))))
(* 2 (- (+ (* t z) (* x y)) (* a (* c i))))
(+ (* -2 (* b (* (pow c 2) i))) (* 2 (- (+ (* t z) (* x y)) (* a (* c i)))))
(- (+ (* t z) (* x y)) (* a (* c i)))
(- (+ (* -1 (* b (* (pow c 2) i))) (+ (* t z) (* x y))) (* a (* c i)))
(* -2 (* b (* (pow c 2) i)))
(* b (+ (* -2 (* (pow c 2) i)) (* 2 (/ (- (+ (* t z) (* x y)) (* a (* c i))) b))))
(* -1 (* b (* (pow c 2) i)))
(* b (- (+ (/ (* t z) b) (/ (* x y) b)) (+ (* (pow c 2) i) (/ (* a (* c i)) b))))
(* b (+ (/ (* a c) b) (pow c 2)))
(* b (+ c (/ a b)))
(* b (+ (* (pow c 2) i) (/ (* a (* c i)) b)))
(* -1 (* b (+ (* -2 (/ (- (+ (* t z) (* x y)) (* a (* c i))) b)) (* 2 (* (pow c 2) i)))))
(* -1 (* b (- (* -1 (/ (- (+ (* t z) (* x y)) (* a (* c i))) b)) (* -1 (* (pow c 2) i)))))
(* -1 (* b (+ (* -1 (/ (* a c) b)) (* -1 (pow c 2)))))
(* -1 (* b (+ (* -1 c) (* -1 (/ a b)))))
(* -1 (* b (+ (* -1 (* (pow c 2) i)) (* -1 (/ (* a (* c i)) b)))))
(* 2 (+ (* t z) (* x y)))
(+ (* -2 (* a (* c i))) (* 2 (+ (* t z) (* x y))))
(+ (* 2 (+ (* t z) (* x y))) (* c (+ (* -2 (* a i)) (* -2 (* b (* c i))))))
(+ (* -1 (* a (* c i))) (+ (* t z) (* x y)))
(+ (* c (- (* -1 (* b (* c i))) (* a i))) (+ (* t z) (* x y)))
(* c (+ a (* b c)))
(* c (+ (* a i) (* b (* c i))))
(* (pow c 2) (+ (* -2 (* b i)) (* -2 (/ (* a i) c))))
(* (pow c 2) (+ (* -2 (* b i)) (+ (* -2 (/ (* a i) c)) (* 2 (/ (+ (* t z) (* x y)) (pow c 2))))))
(* (pow c 2) (- (* -1 (/ (* a i) c)) (* b i)))
(* (pow c 2) (- (+ (/ (* t z) (pow c 2)) (/ (* x y) (pow c 2))) (+ (* b i) (/ (* a i) c))))
(* (pow c 2) (+ b (/ a c)))
(* c (+ b (/ a c)))
(* (pow c 2) (+ (* b i) (/ (* a i) c)))
(* (pow c 2) (+ (* -2 (* b i)) (* -1 (/ (+ (* -2 (/ (+ (* t z) (* x y)) c)) (* 2 (* a i))) c))))
(* (pow c 2) (- (* -1 (/ (- (* -1 (/ (+ (* t z) (* x y)) c)) (* -1 (* a i))) c)) (* b i)))
(* -1 (* c (+ (* -1 b) (* -1 (/ a c)))))
(+ (* -2 (* c (* i (+ a (* b c))))) (* 2 (+ (* t z) (* x y))))
(+ (* -1 (* c (* i (+ a (* b c))))) (+ (* t z) (* x y)))
(* c (* i (+ a (* b c))))
(* -2 (* c (* i (+ a (* b c)))))
(* i (+ (* -2 (* c (+ a (* b c)))) (* 2 (/ (+ (* t z) (* x y)) i))))
(* -1 (* c (* i (+ a (* b c)))))
(* i (- (+ (/ (* t z) i) (/ (* x y) i)) (* c (+ a (* b c)))))
(* -1 (* i (+ (* -2 (/ (+ (* t z) (* x y)) i)) (* 2 (* c (+ a (* b c)))))))
(* -1 (* i (- (* -1 (/ (+ (* t z) (* x y)) i)) (* -1 (* c (+ a (* b c)))))))
Outputs
(* 2 (- (* t z) (* c (* i (+ a (* b c))))))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (-.f64 #s(approx (+ (* x y) (* z t)) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
(+ (* 2 (* x y)) (* 2 (- (* t z) (* c (* i (+ a (* b c)))))))
(-.f64 #s(approx (+ (* x y) (* z t)) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i))
(- (* t z) (* c (* i (+ a (* b c)))))
#s(approx (+ (* x y) (* z t)) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))))
(- (+ (* t z) (* x y)) (* c (* i (+ a (* b c)))))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))
(* t z)
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))
(+ (* t z) (* x y))
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))
(* x y)
(*.f64 x y)
(* 2 (* x y))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (*.f64 (+.f64 a (*.f64 b c)) c))
(* x (+ (* 2 y) (* 2 (/ (- (* t z) (* c (* i (+ a (* b c))))) x))))
(*.f64 (+.f64 a (*.f64 b c)) c)
(* x (- (+ y (/ (* t z) x)) (/ (* c (* i (+ a (* b c)))) x)))
(+.f64 a (*.f64 b c))
(* x (+ y (/ (* t z) x)))
(*.f64 b c)
(* -1 (* x (+ (* -2 y) (* -2 (/ (- (* t z) (* c (* i (+ a (* b c))))) x)))))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (+ (* x y) (* z t)) #s(approx (+ (* x y) (* z t)) (*.f64 (+.f64 a (*.f64 b c)) c)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ (- (* t z) (* c (* i (+ a (* b c))))) x)))))
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (+ (* x y) (* z t)) #s(approx (+ (* x y) (* z t)) (*.f64 (+.f64 a (*.f64 b c)) c))))
(* -1 (* x (+ (* -1 y) (* -1 (/ (* t z) x)))))
#s(approx (+ (* x y) (* z t)) #s(approx (+ (* x y) (* z t)) (*.f64 (+.f64 a (*.f64 b c)) c)))
(* y (+ (* 2 x) (* 2 (/ (- (* t z) (* c (* i (+ a (* b c))))) y))))
#s(approx (+ (* x y) (* z t)) (*.f64 (+.f64 a (*.f64 b c)) c))
(* y (- (+ x (/ (* t z) y)) (/ (* c (* i (+ a (* b c)))) y)))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (-.f64 #s(approx (+ (* x y) (* z t)) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
(* y (+ x (/ (* t z) y)))
(-.f64 #s(approx (+ (* x y) (* z t)) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i))
(* -1 (* y (+ (* -2 x) (* -2 (/ (- (* t z) (* c (* i (+ a (* b c))))) y)))))
#s(approx (+ (* x y) (* z t)) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))
(* -1 (* y (+ (* -1 x) (* -1 (/ (- (* t z) (* c (* i (+ a (* b c))))) y)))))
(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)

rewrite1.0ms (0%)

Memory
2.0MiB live, 2.0MiB allocated
Counts
19 → 19
Calls
Call 1
Inputs
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (-.f64 #s(approx (+ (* x y) (* z t)) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
(-.f64 #s(approx (+ (* x y) (* z t)) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i))
#s(approx (+ (* x y) (* z t)) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))
(*.f64 x y)
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (*.f64 (+.f64 a (*.f64 b c)) c))
(*.f64 (+.f64 a (*.f64 b c)) c)
(+.f64 a (*.f64 b c))
(*.f64 b c)
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (+ (* x y) (* z t)) #s(approx (+ (* x y) (* z t)) (*.f64 (+.f64 a (*.f64 b c)) c)))))
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (+ (* x y) (* z t)) #s(approx (+ (* x y) (* z t)) (*.f64 (+.f64 a (*.f64 b c)) c))))
#s(approx (+ (* x y) (* z t)) #s(approx (+ (* x y) (* z t)) (*.f64 (+.f64 a (*.f64 b c)) c)))
#s(approx (+ (* x y) (* z t)) (*.f64 (+.f64 a (*.f64 b c)) c))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (-.f64 #s(approx (+ (* x y) (* z t)) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
(-.f64 #s(approx (+ (* x y) (* z t)) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i))
#s(approx (+ (* x y) (* z t)) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))
(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)
Outputs
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (-.f64 #s(approx (+ (* x y) (* z t)) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
(-.f64 #s(approx (+ (* x y) (* z t)) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i))
#s(approx (+ (* x y) (* z t)) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))
(*.f64 x y)
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (*.f64 (+.f64 a (*.f64 b c)) c))
(*.f64 (+.f64 a (*.f64 b c)) c)
(+.f64 a (*.f64 b c))
(*.f64 b c)
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (+ (* x y) (* z t)) #s(approx (+ (* x y) (* z t)) (*.f64 (+.f64 a (*.f64 b c)) c)))))
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (+ (* x y) (* z t)) #s(approx (+ (* x y) (* z t)) (*.f64 (+.f64 a (*.f64 b c)) c))))
#s(approx (+ (* x y) (* z t)) #s(approx (+ (* x y) (* z t)) (*.f64 (+.f64 a (*.f64 b c)) c)))
#s(approx (+ (* x y) (* z t)) (*.f64 (+.f64 a (*.f64 b c)) c))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (-.f64 #s(approx (+ (* x y) (* z t)) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
(-.f64 #s(approx (+ (* x y) (* z t)) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i))
#s(approx (+ (* x y) (* z t)) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))
(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)

eval6.0ms (0.3%)

Memory
-27.9MiB live, 10.1MiB allocated
Compiler

Compiled 2 775 to 77 computations (97.2% saved)

prune12.0ms (0.5%)

Memory
24.9MiB live, 24.9MiB allocated
Pruning

14 alts after pruning (6 fresh and 8 done)

PrunedKeptTotal
New49251
Fresh044
Picked055
Done033
Total491463
Accuracy
97.4%
Counts
63 → 14
Alt Table
Click to see full alt table
StatusAccuracyProgram
92.3%
(*.f64 #s(literal 2 binary64) (-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
61.2%
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t))))
32.6%
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 #s(approx (* x y) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t))))) (*.f64 z t))))
31.9%
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))
16.8%
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (+ (* x y) (* z t)) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))))))
13.8%
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (+ (* x y) (* z t)) #s(approx (+ (* x y) (* z t)) (*.f64 (+.f64 a (*.f64 b c)) c)))))
32.8%
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (* x y) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t)))))))
26.3%
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (-.f64 #s(approx (+ (* x y) (* z t)) (*.f64 b c)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
58.0%
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (-.f64 #s(approx (+ (* x y) (* z t)) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
42.9%
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (-.f64 #s(approx (+ (* x y) (* z t)) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
13.8%
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (*.f64 (+.f64 a (*.f64 b c)) c))
32.2%
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t))))
7.8%
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 a (*.f64 b c))))
16.7%
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))
Compiler

Compiled 872 to 471 computations (46% saved)

simplify2.0ms (0.1%)

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

Found 20 expressions of interest:

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

localize54.0ms (2.3%)

Memory
12.3MiB live, 88.9MiB allocated
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
accuracy1.5468688074906176
(-.f64 #s(approx (+ (* x y) (* z t)) (*.f64 b c)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i))
accuracy4.583911025175191
(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)
accuracy27.60763085130445
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (-.f64 #s(approx (+ (* x y) (* z t)) (*.f64 b c)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
accuracy61.50224460398821
#s(approx (+ (* x y) (* z t)) (*.f64 b c))
accuracy0.0
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (+ (* x y) (* z t)) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))))))
accuracy24.668418962172407
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (+ (* x y) (* z t)) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))))
accuracy43.169336383430604
#s(approx (+ (* x y) (* z t)) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))))
accuracy43.59206532241743
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))
accuracy0.0
(*.f64 x y)
accuracy0.20312500000000003
(+.f64 (*.f64 x y) (*.f64 z t))
accuracy24.668418962172407
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t)))
accuracy27.60763085130445
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t))))
accuracy0.0
(*.f64 b c)
accuracy0.00390625
(+.f64 a (*.f64 b c))
accuracy27.60763085130445
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 a (*.f64 b c))))
accuracy59.04469850868985
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 a (*.f64 b c)))
accuracy0.20312500000000003
(+.f64 (*.f64 x y) (*.f64 z t))
accuracy24.668418962172407
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t)))
accuracy43.59206532241743
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (* x y) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t))))))
accuracy53.28125406987323
#s(approx (* x y) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t)))))
Samples
36.0ms256×0valid
Compiler

Compiled 998 to 62 computations (93.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 16.0ms
ival-mult: 12.0ms (77.3% of total)
ival-add: 2.0ms (12.9% of total)
ival-sub: 1.0ms (6.4% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series29.0ms (1.3%)

Memory
-23.4MiB live, 57.5MiB allocated
Counts
21 → 94
Calls
Call 1
Inputs
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (* x y) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t)))))))
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (* x y) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t))))))
#s(approx (* x y) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t)))))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t))))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 a (*.f64 b c))))
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 a (*.f64 b c)))
(+.f64 a (*.f64 b c))
(*.f64 b c)
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t))))
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t)))
(+.f64 (*.f64 x y) (*.f64 z t))
(*.f64 x y)
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (+ (* x y) (* z t)) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))))))
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (+ (* x y) (* z t)) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))))
#s(approx (+ (* x y) (* z t)) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (-.f64 #s(approx (+ (* x y) (* z t)) (*.f64 b c)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
(-.f64 #s(approx (+ (* x y) (* z t)) (*.f64 b c)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i))
#s(approx (+ (* x y) (* z t)) (*.f64 b c))
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))
(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)
Outputs
(* 2 (- (* t z) (* c (* i (+ a (* b c))))))
(+ (* 2 (* x y)) (* 2 (- (* t z) (* c (* i (+ a (* b c)))))))
(- (* t z) (* c (* i (+ a (* b c)))))
(- (+ (* t z) (* x y)) (* c (* i (+ a (* b c)))))
(* x y)
(* t z)
(+ (* t z) (* x y))
(* 2 (* x y))
(* x (+ (* 2 y) (* 2 (/ (- (* t z) (* c (* i (+ a (* b c))))) x))))
(* x (- (+ y (/ (* t z) x)) (/ (* c (* i (+ a (* b c)))) x)))
(* x (+ y (/ (* t z) x)))
(* -1 (* x (+ (* -2 y) (* -2 (/ (- (* t z) (* c (* i (+ a (* b c))))) x)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ (- (* t z) (* c (* i (+ a (* b c))))) x)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ (* t z) x)))))
(* y (+ (* 2 x) (* 2 (/ (- (* t z) (* c (* i (+ a (* b c))))) y))))
(* y (- (+ x (/ (* t z) y)) (/ (* c (* i (+ a (* b c)))) y)))
(* y (+ x (/ (* t z) y)))
(* -1 (* y (+ (* -2 x) (* -2 (/ (- (* t z) (* c (* i (+ a (* b c))))) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (- (* t z) (* c (* i (+ a (* b c))))) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* t z) y)))))
(* 2 (- (* x y) (* c (* i (+ a (* b c))))))
(+ (* 2 (* t z)) (* 2 (- (* x y) (* c (* i (+ a (* b c)))))))
(- (* x y) (* c (* i (+ a (* b c)))))
(* 2 (* t z))
(* z (+ (* 2 t) (* 2 (/ (- (* x y) (* c (* i (+ a (* b c))))) z))))
(* z (- (+ t (/ (* x y) z)) (/ (* c (* i (+ a (* b c)))) z)))
(* z (+ t (/ (* x y) z)))
(* -1 (* z (+ (* -2 t) (* -2 (/ (- (* x y) (* c (* i (+ a (* b c))))) z)))))
(* -1 (* z (+ (* -1 t) (* -1 (/ (- (* x y) (* c (* i (+ a (* b c))))) z)))))
(* -1 (* z (+ (* -1 t) (* -1 (/ (* x y) z)))))
(* t (+ (* 2 z) (* 2 (/ (- (* x y) (* c (* i (+ a (* b c))))) t))))
(* t (- (+ z (/ (* x y) t)) (/ (* c (* i (+ a (* b c)))) t)))
(* t (+ z (/ (* x y) t)))
(* -1 (* t (+ (* -2 z) (* -2 (/ (- (* x y) (* c (* i (+ a (* b c))))) t)))))
(* -1 (* t (+ (* -1 z) (* -1 (/ (- (* x y) (* c (* i (+ a (* b c))))) t)))))
(* -1 (* t (+ (* -1 z) (* -1 (/ (* x y) t)))))
(* 2 (- (+ (* t z) (* x y)) (* b (* (pow c 2) i))))
(+ (* -2 (* a (* c i))) (* 2 (- (+ (* t z) (* x y)) (* b (* (pow c 2) i)))))
(- (+ (* t z) (* x y)) (* b (* (pow c 2) i)))
(- (+ (* -1 (* a (* c i))) (+ (* t z) (* x y))) (* b (* (pow c 2) i)))
(* b c)
(+ a (* b c))
(* b (* (pow c 2) i))
(+ (* a (* c i)) (* b (* (pow c 2) i)))
(* -2 (* a (* c i)))
(* a (+ (* -2 (* c i)) (* 2 (/ (- (+ (* t z) (* x y)) (* b (* (pow c 2) i))) a))))
(* -1 (* a (* c i)))
(* a (- (+ (/ (* t z) a) (/ (* x y) a)) (+ (* c i) (/ (* b (* (pow c 2) i)) a))))
a
(* a (+ 1 (/ (* b c) a)))
(* a (* c i))
(* a (+ (* c i) (/ (* b (* (pow c 2) i)) a)))
(* -1 (* a (+ (* -2 (/ (- (+ (* t z) (* x y)) (* b (* (pow c 2) i))) a)) (* 2 (* c i)))))
(* -1 (* a (- (* -1 (/ (- (+ (* t z) (* x y)) (* b (* (pow c 2) i))) a)) (* -1 (* c i)))))
(* -1 (* a (- (* -1 (/ (* b c) a)) 1)))
(* -1 (* a (+ (* -1 (* c i)) (* -1 (/ (* b (* (pow c 2) i)) a)))))
(* 2 (- (+ (* t z) (* x y)) (* a (* c i))))
(+ (* -2 (* b (* (pow c 2) i))) (* 2 (- (+ (* t z) (* x y)) (* a (* c i)))))
(- (+ (* t z) (* x y)) (* a (* c i)))
(- (+ (* -1 (* b (* (pow c 2) i))) (+ (* t z) (* x y))) (* a (* c i)))
(* -2 (* b (* (pow c 2) i)))
(* b (+ (* -2 (* (pow c 2) i)) (* 2 (/ (- (+ (* t z) (* x y)) (* a (* c i))) b))))
(* -1 (* b (* (pow c 2) i)))
(* b (- (+ (/ (* t z) b) (/ (* x y) b)) (+ (* (pow c 2) i) (/ (* a (* c i)) b))))
(* b (+ c (/ a b)))
(* b (+ (* (pow c 2) i) (/ (* a (* c i)) b)))
(* -1 (* b (+ (* -2 (/ (- (+ (* t z) (* x y)) (* a (* c i))) b)) (* 2 (* (pow c 2) i)))))
(* -1 (* b (- (* -1 (/ (- (+ (* t z) (* x y)) (* a (* c i))) b)) (* -1 (* (pow c 2) i)))))
(* -1 (* b (+ (* -1 c) (* -1 (/ a b)))))
(* -1 (* b (+ (* -1 (* (pow c 2) i)) (* -1 (/ (* a (* c i)) b)))))
(* 2 (+ (* t z) (* x y)))
(+ (* -2 (* a (* c i))) (* 2 (+ (* t z) (* x y))))
(+ (* 2 (+ (* t z) (* x y))) (* c (+ (* -2 (* a i)) (* -2 (* b (* c i))))))
(+ (* -1 (* a (* c i))) (+ (* t z) (* x y)))
(+ (* c (- (* -1 (* b (* c i))) (* a i))) (+ (* t z) (* x y)))
(* c (+ (* a i) (* b (* c i))))
(* (pow c 2) (+ (* -2 (* b i)) (* -2 (/ (* a i) c))))
(* (pow c 2) (+ (* -2 (* b i)) (+ (* -2 (/ (* a i) c)) (* 2 (/ (+ (* t z) (* x y)) (pow c 2))))))
(* (pow c 2) (- (* -1 (/ (* a i) c)) (* b i)))
(* (pow c 2) (- (+ (/ (* t z) (pow c 2)) (/ (* x y) (pow c 2))) (+ (* b i) (/ (* a i) c))))
(* c (+ b (/ a c)))
(* (pow c 2) (+ (* b i) (/ (* a i) c)))
(* (pow c 2) (+ (* -2 (* b i)) (* -1 (/ (+ (* -2 (/ (+ (* t z) (* x y)) c)) (* 2 (* a i))) c))))
(* (pow c 2) (- (* -1 (/ (- (* -1 (/ (+ (* t z) (* x y)) c)) (* -1 (* a i))) c)) (* b i)))
(* -1 (* c (+ (* -1 b) (* -1 (/ a c)))))
(+ (* -2 (* c (* i (+ a (* b c))))) (* 2 (+ (* t z) (* x y))))
(+ (* -1 (* c (* i (+ a (* b c))))) (+ (* t z) (* x y)))
(* c (* i (+ a (* b c))))
(* -2 (* c (* i (+ a (* b c)))))
(* i (+ (* -2 (* c (+ a (* b c)))) (* 2 (/ (+ (* t z) (* x y)) i))))
(* -1 (* c (* i (+ a (* b c)))))
(* i (- (+ (/ (* t z) i) (/ (* x y) i)) (* c (+ a (* b c)))))
(* -1 (* i (+ (* -2 (/ (+ (* t z) (* x y)) i)) (* 2 (* c (+ a (* b c)))))))
(* -1 (* i (- (* -1 (/ (+ (* t z) (* x y)) i)) (* -1 (* c (+ a (* b c)))))))
Calls

24 calls:

TimeVariablePointExpression
3.0ms
x
@0
((* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (* x y) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+ a (* b c)) (* b c) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+ (* x y) (* z t)) (* x y) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+ (* x y) (* z t)) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+ (* x y) (* z t)) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (* (* (+ a (* b c)) c) i))
2.0ms
c
@0
((* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (* x y) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+ a (* b c)) (* b c) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+ (* x y) (* z t)) (* x y) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+ (* x y) (* z t)) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+ (* x y) (* z t)) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (* (* (+ a (* b c)) c) i))
1.0ms
b
@-inf
((* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (* x y) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+ a (* b c)) (* b c) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+ (* x y) (* z t)) (* x y) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+ (* x y) (* z t)) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+ (* x y) (* z t)) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (* (* (+ a (* b c)) c) i))
1.0ms
i
@-inf
((* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (* x y) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+ a (* b c)) (* b c) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+ (* x y) (* z t)) (* x y) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+ (* x y) (* z t)) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+ (* x y) (* z t)) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (* (* (+ a (* b c)) c) i))
1.0ms
y
@-inf
((* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (* x y) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+ a (* b c)) (* b c) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+ (* x y) (* z t)) (* x y) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+ (* x y) (* z t)) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+ (* x y) (* z t)) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (* (* (+ a (* b c)) c) i))

simplify1.0ms (0.1%)

Memory
4.1MiB live, 4.1MiB allocated
Algorithm
egg-herbie
Counts
94 → 21
Calls
Call 1
Inputs
(* 2 (- (* t z) (* c (* i (+ a (* b c))))))
(+ (* 2 (* x y)) (* 2 (- (* t z) (* c (* i (+ a (* b c)))))))
(- (* t z) (* c (* i (+ a (* b c)))))
(- (+ (* t z) (* x y)) (* c (* i (+ a (* b c)))))
(* x y)
(* t z)
(+ (* t z) (* x y))
(* 2 (* x y))
(* x (+ (* 2 y) (* 2 (/ (- (* t z) (* c (* i (+ a (* b c))))) x))))
(* x (- (+ y (/ (* t z) x)) (/ (* c (* i (+ a (* b c)))) x)))
(* x (+ y (/ (* t z) x)))
(* -1 (* x (+ (* -2 y) (* -2 (/ (- (* t z) (* c (* i (+ a (* b c))))) x)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ (- (* t z) (* c (* i (+ a (* b c))))) x)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ (* t z) x)))))
(* y (+ (* 2 x) (* 2 (/ (- (* t z) (* c (* i (+ a (* b c))))) y))))
(* y (- (+ x (/ (* t z) y)) (/ (* c (* i (+ a (* b c)))) y)))
(* y (+ x (/ (* t z) y)))
(* -1 (* y (+ (* -2 x) (* -2 (/ (- (* t z) (* c (* i (+ a (* b c))))) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (- (* t z) (* c (* i (+ a (* b c))))) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* t z) y)))))
(* 2 (- (* x y) (* c (* i (+ a (* b c))))))
(+ (* 2 (* t z)) (* 2 (- (* x y) (* c (* i (+ a (* b c)))))))
(- (* x y) (* c (* i (+ a (* b c)))))
(* 2 (* t z))
(* z (+ (* 2 t) (* 2 (/ (- (* x y) (* c (* i (+ a (* b c))))) z))))
(* z (- (+ t (/ (* x y) z)) (/ (* c (* i (+ a (* b c)))) z)))
(* z (+ t (/ (* x y) z)))
(* -1 (* z (+ (* -2 t) (* -2 (/ (- (* x y) (* c (* i (+ a (* b c))))) z)))))
(* -1 (* z (+ (* -1 t) (* -1 (/ (- (* x y) (* c (* i (+ a (* b c))))) z)))))
(* -1 (* z (+ (* -1 t) (* -1 (/ (* x y) z)))))
(* t (+ (* 2 z) (* 2 (/ (- (* x y) (* c (* i (+ a (* b c))))) t))))
(* t (- (+ z (/ (* x y) t)) (/ (* c (* i (+ a (* b c)))) t)))
(* t (+ z (/ (* x y) t)))
(* -1 (* t (+ (* -2 z) (* -2 (/ (- (* x y) (* c (* i (+ a (* b c))))) t)))))
(* -1 (* t (+ (* -1 z) (* -1 (/ (- (* x y) (* c (* i (+ a (* b c))))) t)))))
(* -1 (* t (+ (* -1 z) (* -1 (/ (* x y) t)))))
(* 2 (- (+ (* t z) (* x y)) (* b (* (pow c 2) i))))
(+ (* -2 (* a (* c i))) (* 2 (- (+ (* t z) (* x y)) (* b (* (pow c 2) i)))))
(- (+ (* t z) (* x y)) (* b (* (pow c 2) i)))
(- (+ (* -1 (* a (* c i))) (+ (* t z) (* x y))) (* b (* (pow c 2) i)))
(* b c)
(+ a (* b c))
(* b (* (pow c 2) i))
(+ (* a (* c i)) (* b (* (pow c 2) i)))
(* -2 (* a (* c i)))
(* a (+ (* -2 (* c i)) (* 2 (/ (- (+ (* t z) (* x y)) (* b (* (pow c 2) i))) a))))
(* -1 (* a (* c i)))
(* a (- (+ (/ (* t z) a) (/ (* x y) a)) (+ (* c i) (/ (* b (* (pow c 2) i)) a))))
a
(* a (+ 1 (/ (* b c) a)))
(* a (* c i))
(* a (+ (* c i) (/ (* b (* (pow c 2) i)) a)))
(* -1 (* a (+ (* -2 (/ (- (+ (* t z) (* x y)) (* b (* (pow c 2) i))) a)) (* 2 (* c i)))))
(* -1 (* a (- (* -1 (/ (- (+ (* t z) (* x y)) (* b (* (pow c 2) i))) a)) (* -1 (* c i)))))
(* -1 (* a (- (* -1 (/ (* b c) a)) 1)))
(* -1 (* a (+ (* -1 (* c i)) (* -1 (/ (* b (* (pow c 2) i)) a)))))
(* 2 (- (+ (* t z) (* x y)) (* a (* c i))))
(+ (* -2 (* b (* (pow c 2) i))) (* 2 (- (+ (* t z) (* x y)) (* a (* c i)))))
(- (+ (* t z) (* x y)) (* a (* c i)))
(- (+ (* -1 (* b (* (pow c 2) i))) (+ (* t z) (* x y))) (* a (* c i)))
(* -2 (* b (* (pow c 2) i)))
(* b (+ (* -2 (* (pow c 2) i)) (* 2 (/ (- (+ (* t z) (* x y)) (* a (* c i))) b))))
(* -1 (* b (* (pow c 2) i)))
(* b (- (+ (/ (* t z) b) (/ (* x y) b)) (+ (* (pow c 2) i) (/ (* a (* c i)) b))))
(* b (+ c (/ a b)))
(* b (+ (* (pow c 2) i) (/ (* a (* c i)) b)))
(* -1 (* b (+ (* -2 (/ (- (+ (* t z) (* x y)) (* a (* c i))) b)) (* 2 (* (pow c 2) i)))))
(* -1 (* b (- (* -1 (/ (- (+ (* t z) (* x y)) (* a (* c i))) b)) (* -1 (* (pow c 2) i)))))
(* -1 (* b (+ (* -1 c) (* -1 (/ a b)))))
(* -1 (* b (+ (* -1 (* (pow c 2) i)) (* -1 (/ (* a (* c i)) b)))))
(* 2 (+ (* t z) (* x y)))
(+ (* -2 (* a (* c i))) (* 2 (+ (* t z) (* x y))))
(+ (* 2 (+ (* t z) (* x y))) (* c (+ (* -2 (* a i)) (* -2 (* b (* c i))))))
(+ (* -1 (* a (* c i))) (+ (* t z) (* x y)))
(+ (* c (- (* -1 (* b (* c i))) (* a i))) (+ (* t z) (* x y)))
(* c (+ (* a i) (* b (* c i))))
(* (pow c 2) (+ (* -2 (* b i)) (* -2 (/ (* a i) c))))
(* (pow c 2) (+ (* -2 (* b i)) (+ (* -2 (/ (* a i) c)) (* 2 (/ (+ (* t z) (* x y)) (pow c 2))))))
(* (pow c 2) (- (* -1 (/ (* a i) c)) (* b i)))
(* (pow c 2) (- (+ (/ (* t z) (pow c 2)) (/ (* x y) (pow c 2))) (+ (* b i) (/ (* a i) c))))
(* c (+ b (/ a c)))
(* (pow c 2) (+ (* b i) (/ (* a i) c)))
(* (pow c 2) (+ (* -2 (* b i)) (* -1 (/ (+ (* -2 (/ (+ (* t z) (* x y)) c)) (* 2 (* a i))) c))))
(* (pow c 2) (- (* -1 (/ (- (* -1 (/ (+ (* t z) (* x y)) c)) (* -1 (* a i))) c)) (* b i)))
(* -1 (* c (+ (* -1 b) (* -1 (/ a c)))))
(+ (* -2 (* c (* i (+ a (* b c))))) (* 2 (+ (* t z) (* x y))))
(+ (* -1 (* c (* i (+ a (* b c))))) (+ (* t z) (* x y)))
(* c (* i (+ a (* b c))))
(* -2 (* c (* i (+ a (* b c)))))
(* i (+ (* -2 (* c (+ a (* b c)))) (* 2 (/ (+ (* t z) (* x y)) i))))
(* -1 (* c (* i (+ a (* b c)))))
(* i (- (+ (/ (* t z) i) (/ (* x y) i)) (* c (+ a (* b c)))))
(* -1 (* i (+ (* -2 (/ (+ (* t z) (* x y)) i)) (* 2 (* c (+ a (* b c)))))))
(* -1 (* i (- (* -1 (/ (+ (* t z) (* x y)) i)) (* -1 (* c (+ a (* b c)))))))
Outputs
(* 2 (- (* t z) (* c (* i (+ a (* b c))))))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (* x y) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t)))))))
(+ (* 2 (* x y)) (* 2 (- (* t z) (* c (* i (+ a (* b c)))))))
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (* x y) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t))))))
(- (* t z) (* c (* i (+ a (* b c)))))
#s(approx (* x y) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t)))))
(- (+ (* t z) (* x y)) (* c (* i (+ a (* b c)))))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t))))
(* x y)
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 a (*.f64 b c))))
(* t z)
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 a (*.f64 b c)))
(+ (* t z) (* x y))
(+.f64 a (*.f64 b c))
(* 2 (* x y))
(*.f64 b c)
(* x (+ (* 2 y) (* 2 (/ (- (* t z) (* c (* i (+ a (* b c))))) x))))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t))))
(* x (- (+ y (/ (* t z) x)) (/ (* c (* i (+ a (* b c)))) x)))
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t)))
(* x (+ y (/ (* t z) x)))
(+.f64 (*.f64 x y) (*.f64 z t))
(* -1 (* x (+ (* -2 y) (* -2 (/ (- (* t z) (* c (* i (+ a (* b c))))) x)))))
(*.f64 x y)
(* -1 (* x (+ (* -1 y) (* -1 (/ (- (* t z) (* c (* i (+ a (* b c))))) x)))))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (+ (* x y) (* z t)) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))))))
(* -1 (* x (+ (* -1 y) (* -1 (/ (* t z) x)))))
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (+ (* x y) (* z t)) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))))
(* y (+ (* 2 x) (* 2 (/ (- (* t z) (* c (* i (+ a (* b c))))) y))))
#s(approx (+ (* x y) (* z t)) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))))
(* y (- (+ x (/ (* t z) y)) (/ (* c (* i (+ a (* b c)))) y)))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))
(* y (+ x (/ (* t z) y)))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (-.f64 #s(approx (+ (* x y) (* z t)) (*.f64 b c)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
(* -1 (* y (+ (* -2 x) (* -2 (/ (- (* t z) (* c (* i (+ a (* b c))))) y)))))
(-.f64 #s(approx (+ (* x y) (* z t)) (*.f64 b c)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i))
(* -1 (* y (+ (* -1 x) (* -1 (/ (- (* t z) (* c (* i (+ a (* b c))))) y)))))
#s(approx (+ (* x y) (* z t)) (*.f64 b c))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* t z) y)))))
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))
(* 2 (- (* x y) (* c (* i (+ a (* b c))))))
(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)

rewrite1.0ms (0.1%)

Memory
2.3MiB live, 2.3MiB allocated
Counts
21 → 21
Calls
Call 1
Inputs
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (* x y) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t)))))))
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (* x y) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t))))))
#s(approx (* x y) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t)))))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t))))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 a (*.f64 b c))))
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 a (*.f64 b c)))
(+.f64 a (*.f64 b c))
(*.f64 b c)
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t))))
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t)))
(+.f64 (*.f64 x y) (*.f64 z t))
(*.f64 x y)
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (+ (* x y) (* z t)) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))))))
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (+ (* x y) (* z t)) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))))
#s(approx (+ (* x y) (* z t)) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (-.f64 #s(approx (+ (* x y) (* z t)) (*.f64 b c)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
(-.f64 #s(approx (+ (* x y) (* z t)) (*.f64 b c)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i))
#s(approx (+ (* x y) (* z t)) (*.f64 b c))
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))
(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)
Outputs
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (* x y) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t)))))))
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (* x y) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t))))))
#s(approx (* x y) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t)))))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t))))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 a (*.f64 b c))))
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 a (*.f64 b c)))
(+.f64 a (*.f64 b c))
(*.f64 b c)
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t))))
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t)))
(+.f64 (*.f64 x y) (*.f64 z t))
(*.f64 x y)
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (+ (* x y) (* z t)) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))))))
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (+ (* x y) (* z t)) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))))
#s(approx (+ (* x y) (* z t)) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (-.f64 #s(approx (+ (* x y) (* z t)) (*.f64 b c)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
(-.f64 #s(approx (+ (* x y) (* z t)) (*.f64 b c)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i))
#s(approx (+ (* x y) (* z t)) (*.f64 b c))
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))
(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)

eval5.0ms (0.2%)

Memory
14.0MiB live, 14.0MiB allocated
Compiler

Compiled 2 817 to 104 computations (96.3% saved)

prune16.0ms (0.7%)

Memory
-5.3MiB live, 32.9MiB allocated
Pruning

20 alts after pruning (7 fresh and 13 done)

PrunedKeptTotal
New47653
Fresh011
Picked055
Done088
Total472067
Accuracy
97.4%
Counts
67 → 20
Alt Table
Click to see full alt table
StatusAccuracyProgram
92.3%
(*.f64 #s(literal 2 binary64) (-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
61.2%
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t))))
32.6%
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 #s(approx (* x y) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t))))) (*.f64 z t))))
31.9%
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))
16.5%
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (+ (* x y) (* z t)) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))))))))
7.4%
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (+ (* x y) (* z t)) (*.f64 b c))))
16.8%
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (+ (* x y) (* z t)) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))))))
13.8%
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (+ (* x y) (* z t)) #s(approx (+ (* x y) (* z t)) (*.f64 (+.f64 a (*.f64 b c)) c)))))
32.8%
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (* x y) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t)))))))
7.8%
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (* x y) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (+ (* x y) (* z t)) (+.f64 a (*.f64 b c))))))))
26.3%
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (* x y) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (+ (* x y) (* z t)) #s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (-.f64 #s(approx (+ (* x y) (* z t)) (*.f64 b c)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))))))))
7.7%
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (* x y) #s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 a (*.f64 b c)))))))
26.3%
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (-.f64 #s(approx (+ (* x y) (* z t)) (*.f64 b c)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
58.0%
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (-.f64 #s(approx (+ (* x y) (* z t)) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
42.9%
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (-.f64 #s(approx (+ (* x y) (* z t)) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
13.8%
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (*.f64 (+.f64 a (*.f64 b c)) c))
7.4%
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (*.f64 b c))
32.2%
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t))))
7.8%
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 a (*.f64 b c))))
16.7%
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))
Compiler

Compiled 1 920 to 557 computations (71% saved)

regimes104.0ms (4.5%)

Memory
-3.9MiB live, 199.2MiB allocated
Counts
22 → 2
Calls
Call 1
Inputs
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (*.f64 b c))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 a (*.f64 b c))))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (+ (* x y) (* z t)) (*.f64 b c))))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t))))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (*.f64 (+.f64 a (*.f64 b c)) c))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (* x y) #s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 a (*.f64 b c)))))))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (+ (* x y) (* z t)) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))))))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (* x y) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (+ (* x y) (* z t)) (+.f64 a (*.f64 b c))))))))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (+ (* x y) (* z t)) #s(approx (+ (* x y) (* z t)) (*.f64 (+.f64 a (*.f64 b c)) c)))))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t))))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (+ (* x y) (* z t)) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))))))))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (* x y) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t)))))))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (-.f64 #s(approx (+ (* x y) (* z t)) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (-.f64 #s(approx (+ (* x y) (* z t)) (*.f64 b c)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (-.f64 #s(approx (+ (* x y) (* z t)) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 #s(approx (* x y) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t))))) (*.f64 z t))))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (* x y) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (+ (* x y) (* z t)) #s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (-.f64 #s(approx (+ (* x y) (* z t)) (*.f64 b c)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))))))))
(*.f64 #s(literal 2 binary64) (-.f64 #s(approx (+ (* x y) (* z t)) (*.f64 (+.f64 a (*.f64 b c)) c)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
(*.f64 #s(literal 2 binary64) (-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
Outputs
(*.f64 #s(literal 2 binary64) (-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (+ (* x y) (* z t)) #s(approx (+ (* x y) (* z t)) (*.f64 (+.f64 a (*.f64 b c)) c)))))
Calls

15 calls:

11.0ms
(+.f64 (*.f64 x y) (*.f64 z t))
9.0ms
(*.f64 (+.f64 a (*.f64 b c)) c)
8.0ms
y
7.0ms
a
7.0ms
i
Results
AccuracySegmentsBranch
92.3%1x
92.3%1y
92.3%1z
92.3%1t
92.3%1a
92.3%1b
92.3%1c
92.3%1i
94.7%2(*.f64 #s(literal 2 binary64) (-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
94.7%2(-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i))
93.9%2(+.f64 (*.f64 x y) (*.f64 z t))
92.3%1(*.f64 x y)
92.3%1(*.f64 z t)
92.3%1(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)
92.3%1(*.f64 (+.f64 a (*.f64 b c)) c)
Compiler

Compiled 73 to 150 computations (-105.5% saved)

regimes98.0ms (4.2%)

Memory
-22.0MiB live, 216.6MiB allocated
Counts
21 → 3
Calls
Call 1
Inputs
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (*.f64 b c))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 a (*.f64 b c))))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (+ (* x y) (* z t)) (*.f64 b c))))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t))))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (*.f64 (+.f64 a (*.f64 b c)) c))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (* x y) #s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 a (*.f64 b c)))))))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (+ (* x y) (* z t)) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))))))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (* x y) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (+ (* x y) (* z t)) (+.f64 a (*.f64 b c))))))))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (+ (* x y) (* z t)) #s(approx (+ (* x y) (* z t)) (*.f64 (+.f64 a (*.f64 b c)) c)))))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t))))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (+ (* x y) (* z t)) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))))))))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (* x y) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t)))))))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (-.f64 #s(approx (+ (* x y) (* z t)) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (-.f64 #s(approx (+ (* x y) (* z t)) (*.f64 b c)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (-.f64 #s(approx (+ (* x y) (* z t)) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 #s(approx (* x y) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t))))) (*.f64 z t))))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (* x y) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (+ (* x y) (* z t)) #s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (-.f64 #s(approx (+ (* x y) (* z t)) (*.f64 b c)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))))))))
(*.f64 #s(literal 2 binary64) (-.f64 #s(approx (+ (* x y) (* z t)) (*.f64 (+.f64 a (*.f64 b c)) c)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
Outputs
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (-.f64 #s(approx (+ (* x y) (* z t)) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t))))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (-.f64 #s(approx (+ (* x y) (* z t)) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
Calls

15 calls:

8.0ms
c
7.0ms
t
7.0ms
(*.f64 (+.f64 a (*.f64 b c)) c)
7.0ms
z
7.0ms
(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)
Results
AccuracySegmentsBranch
70.4%3z
67.8%3a
73.7%3c
73.9%3i
71.1%3(*.f64 z t)
80.7%3(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)
61.2%1x
66.3%3y
70.3%3t
68.2%3b
63.5%2(*.f64 x y)
77.1%3(*.f64 (+.f64 a (*.f64 b c)) c)
69.8%3(+.f64 (*.f64 x y) (*.f64 z t))
80.6%4(*.f64 #s(literal 2 binary64) (-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
80.9%4(-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i))
Compiler

Compiled 73 to 150 computations (-105.5% saved)

regimes63.0ms (2.7%)

Memory
1.0MiB live, 118.7MiB allocated
Counts
14 → 2
Calls
Call 1
Inputs
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (*.f64 b c))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 a (*.f64 b c))))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (+ (* x y) (* z t)) (*.f64 b c))))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t))))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (*.f64 (+.f64 a (*.f64 b c)) c))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (* x y) #s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 a (*.f64 b c)))))))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (+ (* x y) (* z t)) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))))))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (* x y) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (+ (* x y) (* z t)) (+.f64 a (*.f64 b c))))))))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (+ (* x y) (* z t)) #s(approx (+ (* x y) (* z t)) (*.f64 (+.f64 a (*.f64 b c)) c)))))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t))))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (+ (* x y) (* z t)) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))))))))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (* x y) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t)))))))
Outputs
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (*.f64 (+.f64 a (*.f64 b c)) c))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t))))
Calls

13 calls:

8.0ms
y
7.0ms
t
5.0ms
(*.f64 (+.f64 a (*.f64 b c)) c)
4.0ms
i
4.0ms
a
Results
AccuracySegmentsBranch
61.2%1y
61.2%1a
61.2%1b
61.2%1(+.f64 (*.f64 x y) (*.f64 z t))
61.2%1t
61.2%1z
61.2%1(*.f64 z t)
63.1%2c
61.2%1i
64.6%2(*.f64 (+.f64 a (*.f64 b c)) c)
61.2%1(*.f64 #s(literal 2 binary64) (-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
61.2%1(-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i))
63.8%2(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)
Compiler

Compiled 69 to 133 computations (-92.8% saved)

regimes63.0ms (2.7%)

Memory
13.3MiB live, 127.2MiB allocated
Counts
11 → 4
Calls
Call 1
Inputs
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (*.f64 b c))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 a (*.f64 b c))))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (+ (* x y) (* z t)) (*.f64 b c))))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t))))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (*.f64 (+.f64 a (*.f64 b c)) c))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (* x y) #s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 a (*.f64 b c)))))))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (+ (* x y) (* z t)) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))))))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (* x y) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (+ (* x y) (* z t)) (+.f64 a (*.f64 b c))))))))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (+ (* x y) (* z t)) #s(approx (+ (* x y) (* z t)) (*.f64 (+.f64 a (*.f64 b c)) c)))))
Outputs
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t))))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (+ (* x y) (* z t)) #s(approx (+ (* x y) (* z t)) (*.f64 (+.f64 a (*.f64 b c)) c)))))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t))))
Calls

15 calls:

7.0ms
x
6.0ms
z
6.0ms
(*.f64 #s(literal 2 binary64) (-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
4.0ms
y
4.0ms
i
Results
AccuracySegmentsBranch
37.7%2x
37.9%3y
34.9%2b
47.3%4(*.f64 z t)
43.2%3z
42.8%3t
34.4%2i
44.6%3(+.f64 (*.f64 x y) (*.f64 z t))
33.9%2a
44.9%3(*.f64 #s(literal 2 binary64) (-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
44.9%3(-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i))
37.9%3c
41.5%3(*.f64 x y)
39.9%3(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)
42.5%4(*.f64 (+.f64 a (*.f64 b c)) c)
Compiler

Compiled 73 to 150 computations (-105.5% saved)

regimes4.0ms (0.2%)

Memory
14.0MiB live, 14.0MiB allocated
Counts
10 → 4
Calls
Call 1
Inputs
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (*.f64 b c))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 a (*.f64 b c))))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (+ (* x y) (* z t)) (*.f64 b c))))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t))))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (*.f64 (+.f64 a (*.f64 b c)) c))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (* x y) #s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 a (*.f64 b c)))))))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (+ (* x y) (* z t)) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))))))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (* x y) (*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (+ (* x y) (* z t)) (+.f64 a (*.f64 b c))))))))
Outputs
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t))))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (*.f64 (+.f64 a (*.f64 b c)) c))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t))))
Calls

1 calls:

3.0ms
(*.f64 z t)
Results
AccuracySegmentsBranch
47.3%4(*.f64 z t)
Compiler

Compiled 3 to 9 computations (-200% saved)

regimes3.0ms (0.1%)

Memory
6.2MiB live, 6.2MiB allocated
Counts
6 → 3
Calls
Call 1
Inputs
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (*.f64 b c))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 a (*.f64 b c))))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (+ (* x y) (* z t)) (*.f64 b c))))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t))))
Outputs
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t))))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t))))
Calls

1 calls:

2.0ms
(*.f64 z t)
Results
AccuracySegmentsBranch
45.7%3(*.f64 z t)
Compiler

Compiled 3 to 9 computations (-200% saved)

regimes45.0ms (1.9%)

Memory
-2.6MiB live, 79.1MiB allocated
Counts
5 → 2
Calls
Call 1
Inputs
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (*.f64 b c))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 a (*.f64 b c))))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (+ (* x y) (* z t)) (*.f64 b c))))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))
Outputs
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 a (*.f64 b c))))
Calls

15 calls:

10.0ms
(*.f64 #s(literal 2 binary64) (-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
6.0ms
x
2.0ms
y
2.0ms
a
2.0ms
z
Results
AccuracySegmentsBranch
31.9%1a
31.9%1i
31.9%1b
31.9%1c
31.9%1y
31.9%1x
33.7%2(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)
31.9%1(*.f64 (+.f64 a (*.f64 b c)) c)
31.9%1(*.f64 x y)
31.9%1t
31.9%1z
31.9%1(+.f64 (*.f64 x y) (*.f64 z t))
31.9%1(*.f64 #s(literal 2 binary64) (-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
31.9%1(-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i))
31.9%1(*.f64 z t)
Compiler

Compiled 73 to 150 computations (-105.5% saved)

regimes33.0ms (1.4%)

Memory
-5.3MiB live, 73.0MiB allocated
Counts
4 → 2
Calls
Call 1
Inputs
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (*.f64 b c))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 a (*.f64 b c))))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) #s(approx (+ (* x y) (* z t)) (*.f64 b c))))
Outputs
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 a (*.f64 b c))))
Calls

15 calls:

4.0ms
z
3.0ms
a
2.0ms
x
2.0ms
y
2.0ms
(*.f64 x y)
Results
AccuracySegmentsBranch
16.7%1(*.f64 (+.f64 a (*.f64 b c)) c)
16.7%1c
16.7%1(*.f64 #s(literal 2 binary64) (-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
16.7%1(-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i))
16.7%1a
16.7%1(*.f64 x y)
16.7%1y
16.7%1b
16.7%1i
16.7%1(*.f64 z t)
16.7%1t
16.7%1(+.f64 (*.f64 x y) (*.f64 z t))
16.7%1z
16.7%1x
18.5%2(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)
Compiler

Compiled 73 to 150 computations (-105.5% saved)

regimes2.0ms (0.1%)

Memory
4.1MiB live, 4.1MiB allocated
Counts
2 → 2
Calls
Call 1
Inputs
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (*.f64 b c))
Outputs
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (*.f64 b c))
Calls

1 calls:

1.0ms
(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)
Results
AccuracySegmentsBranch
18.4%2(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)
Compiler

Compiled 9 to 12 computations (-33.3% saved)

regimes3.0ms (0.1%)

Memory
6.0MiB live, 6.0MiB allocated
Counts
1 → 1
Calls
Call 1
Inputs
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))
Outputs
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))
Calls

2 calls:

1.0ms
(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)
1.0ms
(*.f64 x y)
Results
AccuracySegmentsBranch
16.7%1(*.f64 x y)
16.7%1(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)
Compiler

Compiled 12 to 21 computations (-75% saved)

bsearch1.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
+inf
NaN
Compiler

Compiled 22 to 29 computations (-31.8% saved)

bsearch1.0ms (0%)

Memory
1.2MiB live, 1.2MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.0731623029555175e+274
2.5414279159944085e+278
0.0ms
-3.92414411141204e+200
-5.692954206424953e+186
Compiler

Compiled 22 to 29 computations (-31.8% saved)

bsearch0.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-2.860286938967266e+280
-6.78316191626839e+275
Compiler

Compiled 22 to 29 computations (-31.8% saved)

bsearch59.0ms (2.6%)

Memory
-8.5MiB live, 71.3MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
22.0ms
1.1304092541967278e+190
2.5867762993293362e+193
15.0ms
1.576934818832408e+100
1.0869641439526291e+103
18.0ms
-7.995204268139089e+184
-2.3154613933903004e+181
Samples
39.0ms384×0valid
Compiler

Compiled 1 766 to 1 133 computations (35.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 20.0ms
ival-mult: 11.0ms (55.4% of total)
ival-add: 6.0ms (30.2% of total)
ival-sub: 2.0ms (10.1% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch3.0ms (0.1%)

Memory
6.2MiB live, 6.2MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
1.0ms
1.1304092541967278e+190
2.5867762993293362e+193
1.0ms
1.576934818832408e+100
1.0869641439526291e+103
1.0ms
-7.995204268139089e+184
-2.3154613933903004e+181
Compiler

Compiled 1 510 to 1 101 computations (27.1% saved)

bsearch29.0ms (1.3%)

Memory
-5.5MiB live, 31.0MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
26.0ms
1.0869641439526291e+103
2.5134211044624663e+114
1.0ms
-7.995204268139089e+184
-2.3154613933903004e+181
Samples
20.0ms160×0valid
Compiler

Compiled 1 210 to 821 computations (32.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 7.0ms
ival-mult: 5.0ms (69.3% of total)
ival-sub: 1.0ms (13.9% of total)
ival-add: 1.0ms (13.9% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch0.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
3.4920618447981893e+220
1.3467426465146188e+226
Compiler

Compiled 22 to 29 computations (-31.8% saved)

bsearch0.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
3.4920618447981893e+220
1.3467426465146188e+226
Compiler

Compiled 22 to 29 computations (-31.8% saved)

bsearch0.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
3.4920618447981893e+220
1.3467426465146188e+226
Compiler

Compiled 22 to 29 computations (-31.8% saved)

simplify4.0ms (0.2%)

Memory
12.9MiB live, 12.9MiB allocated

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...