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

Time bar (total: 2.5s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated

analyze1.0ms (0%)

Memory
0.7MiB live, 0.7MiB 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 (48.7%)

Memory
-5.6MiB live, 1 824.3MiB allocated
Samples
822.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 484.0ms
ival-mult: 341.0ms (70.5% of total)
ival-add: 89.0ms (18.4% of total)
ival-sub: 39.0ms (8.1% of total)
ival-true: 7.0ms (1.4% of total)
exact: 5.0ms (1% of total)
ival-assert: 3.0ms (0.6% of total)
Bogosity

explain174.0ms (7.1%)

Memory
-2.6MiB live, 311.7MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
320-1(1.0831092654449065e-193 5.18211253206556e+112 -1.714963399326728e+131 -2.6564376781341472e-294 -1.855924899980612e-18 -2.900666930223181e-279 3.1774858293634726e-296 1.3159930608936988e+237)(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)
160-0-(-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i))
40-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*o250
-.f64(-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i))nan-rescue160
(*.f64 x y)overflow33
(+.f64 (*.f64 x y) (*.f64 z t))overflow59
(*.f64 z t)overflow31
(*.f64 b c)overflow34
(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)overflow88
(+.f64 a (*.f64 b c))overflow34
(*.f64 (+.f64 a (*.f64 b c)) c)overflow82
+.f64(+.f64 (*.f64 x y) (*.f64 z t))nan-rescue40
(*.f64 x y)overflow33
(*.f64 z t)overflow31
*.f64(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)n*u10
Confusion
Predicted +Predicted -
+391
-5211
Precision
0.8863636363636364
Recall
0.975
Confusion?
Predicted +Predicted MaybePredicted -
+3901
-50211
Precision?
0.8863636363636364
Recall?
0.975
Freqs
test
numberfreq
0212
142
22
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
58.0ms512×0valid
Compiler

Compiled 269 to 76 computations (71.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 29.0ms
ival-mult: 21.0ms (72.6% of total)
ival-add: 5.0ms (17.3% of total)
ival-sub: 2.0ms (6.9% of total)
ival-true: 1.0ms (3.5% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess6.0ms (0.3%)

Memory
14.6MiB live, 14.6MiB 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.2MiB live, 0.2MiB allocated
Compiler

Compiled 0 to 8 computations (-∞% saved)

prune1.0ms (0%)

Memory
1.3MiB live, 1.3MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
84.9%
(*.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
1.1MiB live, 1.1MiB 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

localize39.0ms (1.6%)

Memory
-10.1MiB live, 66.7MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.09765625
(*.f64 (+.f64 a (*.f64 b c)) c)
accuracy0.9570250574906174
(+.f64 (*.f64 x y) (*.f64 z t))
accuracy3.5078001149812352
(-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i))
accuracy7.471542997988938
(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)
Samples
30.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: 11.0ms (66.3% of total)
ival-add: 4.0ms (24.1% of total)
ival-sub: 1.0ms (6% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series32.0ms (1.3%)

Memory
22.7MiB live, 64.1MiB 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
4.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))
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))
1.0ms
x
@0
((* 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))

simplify3.0ms (0.1%)

Memory
-35.2MiB live, 3.1MiB 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)

eval1.0ms (0.1%)

Memory
2.7MiB live, 2.7MiB allocated
Compiler

Compiled 296 to 40 computations (86.5% saved)

prune2.0ms (0.1%)

Memory
4.4MiB live, 4.4MiB allocated
Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New8412
Fresh000
Picked011
Done000
Total8513
Accuracy
93.6%
Counts
13 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
84.9%
(*.f64 #s(literal 2 binary64) (-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
36.6%
(*.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)))
50.1%
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t))))
28.5%
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))
48.6%
#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.4MiB live, 2.4MiB 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%)

Memory
9.0MiB live, 85.1MiB allocated
Localize:

Found 15 expressions of interest:

NewMetricScoreProgram
accuracy0.09765625
(*.f64 (+.f64 a (*.f64 b c)) c)
accuracy3.5078001149812352
(-.f64 #s(approx (+ (* x y) (* z t)) (*.f64 (+.f64 a (*.f64 b c)) c)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i))
accuracy7.471542997988938
(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)
accuracy59.921329786003504
#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.9570250574906174
(+.f64 (*.f64 x y) (*.f64 z t))
accuracy30.938404886372286
#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)))
accuracy45.75228972854626
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))
accuracy0.9570250574906174
(+.f64 (*.f64 x y) (*.f64 z t))
accuracy3.5078001149812352
(-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i))
accuracy7.471542997988938
(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)
accuracy27.015625
#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
35.0ms256×0valid
Compiler

Compiled 566 to 55 computations (90.3% saved)

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

series32.0ms (1.3%)

Memory
6.9MiB live, 47.3MiB 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
12.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) (* 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))
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
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) (* 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))

simplify1.0ms (0.1%)

Memory
2.6MiB live, 2.6MiB 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.7MiB live, 1.7MiB 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
7.3MiB live, 7.3MiB allocated
Compiler

Compiled 1 370 to 67 computations (95.1% saved)

prune20.0ms (0.8%)

Memory
-14.2MiB live, 21.9MiB allocated
Pruning

15 alts after pruning (11 fresh and 4 done)

PrunedKeptTotal
New231134
Fresh000
Picked134
Done011
Total241539
Accuracy
94.7%
Counts
39 → 15
Alt Table
Click to see full alt table
StatusAccuracyProgram
84.9%
(*.f64 #s(literal 2 binary64) (-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
50.1%
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t))))
24.0%
(*.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))))
28.5%
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))
15.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))))))
16.3%
(*.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)))))
24.1%
(*.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)))))))
48.6%
#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)))
58.1%
#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)))
45.2%
#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)))
28.5%
#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)) (*.f64 (+.f64 a (*.f64 b c)) c))) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
16.3%
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (*.f64 (+.f64 a (*.f64 b c)) c))
24.1%
#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))))
4.1%
#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 (+.f64 a (*.f64 b c)) c) i)))
15.0%
#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 172 to 627 computations (46.5% saved)

simplify2.0ms (0.1%)

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

Found 19 expressions of interest:

NewMetricScoreProgram
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)))))))
cost-diff0
(*.f64 (+.f64 a (*.f64 b c)) c)
cost-diff0
(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)
cost-diff0
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i))
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 (+.f64 a (*.f64 b c)) c) i)))
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
#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 (+.f64 a (*.f64 b c)) c) i)))
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i))
(*.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)) #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
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
#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 (+.f64 a (*.f64 b c)) c) i)))
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i))
(*.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)) #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

localize206.0ms (8.4%)

Memory
-144.2MiB live, 119.3MiB allocated
Localize:

Found 19 expressions of interest:

NewMetricScoreProgram
accuracy0.9570250574906174
(+.f64 (*.f64 x y) (*.f64 z t))
accuracy30.938404886372286
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t)))
accuracy45.75228972854626
#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))))))
accuracy54.413275194975924
#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)))))
accuracy0.09765625
(*.f64 (+.f64 a (*.f64 b c)) c)
accuracy7.471542997988938
(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)
accuracy27.015625
#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 (+.f64 a (*.f64 b c)) c) i)))
accuracy62.081250810212566
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i))
accuracy0.0
(*.f64 b c)
accuracy0.00390625
(+.f64 a (*.f64 b c))
accuracy0.09765625
(*.f64 (+.f64 a (*.f64 b c)) c)
accuracy53.55533136288305
#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.015625
#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)))
accuracy45.75228972854626
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))
accuracy7.471542997988938
(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)
accuracy27.015625
#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)))
accuracy45.75228972854626
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))
accuracy47.55258585287564
#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))))
Samples
183.0ms256×0valid
Compiler

Compiled 976 to 60 computations (93.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 18.0ms
ival-mult: 9.0ms (50.2% of total)
ival-add: 7.0ms (39% of total)
ival-sub: 1.0ms (5.6% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series30.0ms (1.2%)

Memory
-4.2MiB live, 74.1MiB allocated
Counts
20 → 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)
#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 (+.f64 a (*.f64 b c)) c) i)))
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i))
(*.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)) (+.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 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t)))
(+.f64 (*.f64 x y) (*.f64 z t))
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
4.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)) (* 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)) (* (* (+ 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))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+ (* x y) (* z t)))
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)) (* (* (+ 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))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+ (* x y) (* z t)))
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)) (* (* (+ 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))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+ (* x y) (* z t)))
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)) (* 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)) (* (* (+ 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))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+ (* x y) (* z t)))
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)) (* (* (+ 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))) (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+ (* x y) (* z t)))

simplify2.0ms (0.1%)

Memory
3.1MiB live, 3.1MiB allocated
Algorithm
egg-herbie
Counts
103 → 20
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)))))
#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 (+.f64 a (*.f64 b c)) c) i)))
(* -1 (* x (+ (* -1 y) (* -1 (/ (- (* t z) (* c (* i (+ a (* b c))))) x)))))
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i))
(* -1 (* x (+ (* -1 y) (* -1 (/ (* t z) x)))))
(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)
(* y (+ (* 2 x) (* 2 (/ (- (* t z) (* c (* i (+ a (* b c))))) 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)))))))
(* y (- (+ x (/ (* t z) y)) (/ (* c (* i (+ a (* b c)))) y)))
#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))))))
(* y (+ x (/ (* t z) y)))
#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)))))
(* -1 (* y (+ (* -2 x) (* -2 (/ (- (* t z) (* c (* i (+ a (* b c))))) y)))))
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (- (* t z) (* c (* i (+ a (* b c))))) y)))))
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t)))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* t z) y)))))
(+.f64 (*.f64 x y) (*.f64 z t))

rewrite1.0ms (0%)

Memory
2.5MiB live, 2.5MiB allocated
Counts
20 → 20
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)
#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 (+.f64 a (*.f64 b c)) c) i)))
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i))
(*.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)) (+.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 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t)))
(+.f64 (*.f64 x y) (*.f64 z t))
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)
#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 (+.f64 a (*.f64 b c)) c) i)))
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i))
(*.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)) (+.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 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t)))
(+.f64 (*.f64 x y) (*.f64 z t))

eval5.0ms (0.2%)

Memory
12.6MiB live, 12.6MiB allocated
Compiler

Compiled 2 686 to 88 computations (96.7% saved)

prune12.0ms (0.5%)

Memory
-7.6MiB live, 31.3MiB allocated
Pruning

16 alts after pruning (7 fresh and 9 done)

PrunedKeptTotal
New48250
Fresh156
Picked055
Done044
Total491665
Accuracy
94.8%
Counts
65 → 16
Alt Table
Click to see full alt table
StatusAccuracyProgram
84.9%
(*.f64 #s(literal 2 binary64) (-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
50.1%
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t))))
24.0%
(*.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))))
28.5%
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))
15.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))))))
16.3%
(*.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)))))
24.1%
(*.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)))))))
48.6%
#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)))
31.2%
#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.1%
#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)))
45.2%
#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)))
16.3%
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (*.f64 (+.f64 a (*.f64 b c)) c))
24.1%
#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.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 a (*.f64 b c))))
4.1%
#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 (+.f64 a (*.f64 b c)) c) i)))
15.0%
#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 007 to 548 computations (45.6% saved)

simplify2.0ms (0.1%)

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

Found 20 expressions of interest:

NewMetricScoreProgram
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 #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
#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)))
Calls
Call 1
Inputs
#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
#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
(*.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
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(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
#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
(*.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

localize56.0ms (2.3%)

Memory
-2.9MiB live, 117.8MiB allocated
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
accuracy0.00390625
(+.f64 a (*.f64 b c))
accuracy0.09765625
(*.f64 (+.f64 a (*.f64 b c)) c)
accuracy30.938404886372286
#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.921329786003504
#s(approx (+ (* x y) (* z t)) (*.f64 (+.f64 a (*.f64 b c)) 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))))))
accuracy30.938404886372286
#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)))))
accuracy45.75228972854626
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))
accuracy47.55258585287564
#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))))
accuracy0.0
(*.f64 x y)
accuracy0.9570250574906174
(+.f64 (*.f64 x y) (*.f64 z t))
accuracy27.015625
#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))))
accuracy30.938404886372286
#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.015625
#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.38107847647266
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 a (*.f64 b c)))
accuracy7.471542997988938
(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)
accuracy27.015625
#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)))
accuracy30.938404886372286
#s(approx (+ (* x y) (* z t)) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))
accuracy45.75228972854626
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y))
Samples
38.0ms256×0valid
Compiler

Compiled 1 016 to 62 computations (93.9% saved)

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

series30.0ms (1.2%)

Memory
-14.6MiB live, 65.9MiB allocated
Counts
22 → 103
Calls
Call 1
Inputs
#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))
#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)))
(*.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))
(*.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 c)
(+ a (* b c))
(* 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
(* a (+ 1 (/ (* b c) 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 (/ (* b c) a)) 1)))
(* -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 (+ c (/ a 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 c) (* -1 (/ a b)))))
(* -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))))
(* c (+ b (/ a 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)))
(* -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
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) (* 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))
3.0ms
y
@0
((* 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)) (* 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))
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) (* 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))
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)) (- (+ (* 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))
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) (* 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))

simplify2.0ms (0.1%)

Memory
3.5MiB live, 3.5MiB allocated
Algorithm
egg-herbie
Counts
103 → 22
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 c)
(+ a (* b c))
(* 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
(* a (+ 1 (/ (* b c) 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 (/ (* b c) a)) 1)))
(* -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 (+ c (/ a 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 c) (* -1 (/ a b)))))
(* -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))))
(* c (+ b (/ a 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)))
(* -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)) #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)) #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)) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))
(- (+ (* t z) (* x y)) (* c (* i (+ a (* b c)))))
#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 a (*.f64 b c))))
(+ (* t z) (* x y))
#s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 a (*.f64 b c)))
(* 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)))
(*.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 (* y (+ (* -2 x) (* -2 (/ (- (* t z) (* c (* i (+ a (* b c))))) y)))))
#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 (* y (+ (* -1 x) (* -1 (/ (- (* t z) (* c (* i (+ a (* b c))))) y)))))
#s(approx (+ (* x y) (* z t)) #s(approx (+ (* x y) (* z t)) (*.f64 (+.f64 a (*.f64 b c)) c)))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* t z) y)))))
#s(approx (+ (* x y) (* z t)) (*.f64 (+.f64 a (*.f64 b c)) c))
(* 2 (- (* x y) (* c (* i (+ a (* b c))))))
(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)
(+ (* 2 (* t z)) (* 2 (- (* x y) (* c (* i (+ a (* b c)))))))
(*.f64 (+.f64 a (*.f64 b c)) c)

rewrite1.0ms (0%)

Memory
2.8MiB live, 2.8MiB allocated
Counts
22 → 22
Calls
Call 1
Inputs
#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))
#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)))
(*.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))
(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)
(*.f64 (+.f64 a (*.f64 b c)) c)
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(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))
#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)))
(*.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))
(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)
(*.f64 (+.f64 a (*.f64 b c)) c)

eval5.0ms (0.2%)

Memory
11.0MiB live, 11.0MiB allocated
Compiler

Compiled 2 743 to 89 computations (96.8% saved)

prune17.0ms (0.7%)

Memory
-9.4MiB live, 29.0MiB allocated
Pruning

19 alts after pruning (6 fresh and 13 done)

PrunedKeptTotal
New47451
Fresh022
Picked055
Done189
Total481967
Accuracy
94.8%
Counts
67 → 19
Alt Table
Click to see full alt table
StatusAccuracyProgram
84.9%
(*.f64 #s(literal 2 binary64) (-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
50.1%
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 (*.f64 x y) (*.f64 z t))))
24.0%
(*.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))))
28.5%
(*.f64 #s(literal 2 binary64) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (*.f64 x y)))
15.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))))))
7.2%
(*.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)) #s(approx (* x y) (+.f64 a (*.f64 b c))))))))
16.3%
(*.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)))))
24.1%
(*.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)))))))
48.6%
#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)))
31.2%
#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.1%
#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)))
30.6%
#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 a (*.f64 b c)))) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
45.2%
#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)))
16.3%
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (*.f64 (+.f64 a (*.f64 b c)) c))
6.8%
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (*.f64 b c))
24.1%
#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))))
15.4%
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 #s(approx (* x y) (+.f64 a (*.f64 b c))) (*.f64 z t))))
7.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 a (*.f64 b c))))
15.0%
#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 757 to 528 computations (69.9% saved)

regimes114.0ms (4.7%)

Memory
10.3MiB live, 168.8MiB 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)) (*.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) (* 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 #s(approx (* x y) (+.f64 a (*.f64 b c))) (*.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 (*.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)))))
(*.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)) #s(approx (* x y) (+.f64 a (*.f64 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))))
(*.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)) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 a (*.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 #s(approx (+ (* x y) (* z t)) #s(approx (+ (* x y) (* z t)) (*.f64 (+.f64 a (*.f64 b c)) c))) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
#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) (-.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)))
#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 a (*.f64 b c)))) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
Calls

15 calls:

12.0ms
b
10.0ms
z
9.0ms
y
9.0ms
(-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i))
8.0ms
(*.f64 z t)
Results
AccuracySegmentsBranch
84.9%1x
84.9%1y
84.9%1z
84.9%1t
84.9%1a
84.9%1b
84.9%1c
84.9%1i
88.4%2(*.f64 #s(literal 2 binary64) (-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
88.4%2(-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i))
84.9%1(+.f64 (*.f64 x y) (*.f64 z t))
84.9%1(*.f64 x y)
84.9%1(*.f64 z t)
86.8%2(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)
84.9%1(*.f64 (+.f64 a (*.f64 b c)) c)
Compiler

Compiled 73 to 150 computations (-105.5% saved)

regimes101.0ms (4.1%)

Memory
6.2MiB live, 164.3MiB allocated
Counts
21 → 5
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)) (*.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) (* 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 #s(approx (* x y) (+.f64 a (*.f64 b c))) (*.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 (*.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)))))
(*.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)) #s(approx (* x y) (+.f64 a (*.f64 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))))
(*.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)) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 a (*.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 #s(approx (+ (* x y) (* z t)) #s(approx (+ (* x y) (* z t)) (*.f64 (+.f64 a (*.f64 b c)) c))) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
#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) (-.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) (-.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) #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)))
#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

15 calls:

9.0ms
x
9.0ms
(+.f64 (*.f64 x y) (*.f64 z t))
8.0ms
z
8.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
y
Results
AccuracySegmentsBranch
65.9%3t
58.1%1y
61.9%3z
62.3%3b
69.8%3c
69.8%4i
63.4%3(+.f64 (*.f64 x y) (*.f64 z t))
61.4%3(*.f64 x y)
65.1%3(*.f64 z t)
71.9%3(*.f64 (+.f64 a (*.f64 b c)) c)
62.9%4x
58.1%1a
77.7%5(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)
74.6%4(*.f64 #s(literal 2 binary64) (-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
74.6%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)

regimes8.0ms (0.3%)

Memory
-25.4MiB live, 13.1MiB allocated
Counts
20 → 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)) (*.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) (* 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 #s(approx (* x y) (+.f64 a (*.f64 b c))) (*.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 (*.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)))))
(*.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)) #s(approx (* x y) (+.f64 a (*.f64 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))))
(*.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)) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 a (*.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 #s(approx (+ (* x y) (* z t)) #s(approx (+ (* x y) (* z t)) (*.f64 (+.f64 a (*.f64 b c)) c))) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
#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)))
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)) (*.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

1 calls:

7.0ms
(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)
Results
AccuracySegmentsBranch
74.1%3(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)
Compiler

Compiled 9 to 12 computations (-33.3% saved)

regimes5.0ms (0.2%)

Memory
11.3MiB live, 11.3MiB allocated
Counts
16 → 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)) (*.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) (* 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 #s(approx (* x y) (+.f64 a (*.f64 b c))) (*.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 (*.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)))))
(*.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)) #s(approx (* x y) (+.f64 a (*.f64 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))))
(*.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)) #s(approx (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i)) (+.f64 a (*.f64 b 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

1 calls:

4.0ms
(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)
Results
AccuracySegmentsBranch
74.1%3(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)
Compiler

Compiled 9 to 12 computations (-33.3% saved)

regimes69.0ms (2.8%)

Memory
-2.5MiB live, 155.0MiB allocated
Counts
13 → 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)) (*.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) (* 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 #s(approx (* x y) (+.f64 a (*.f64 b c))) (*.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 (*.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)))))
(*.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)) #s(approx (* x y) (+.f64 a (*.f64 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))))
(*.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))))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (*.f64 (+.f64 a (*.f64 b c)) c))
Calls

15 calls:

6.0ms
(*.f64 z t)
6.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
a
5.0ms
(*.f64 x y)
4.0ms
x
Results
AccuracySegmentsBranch
50.1%1a
50.1%1y
50.1%1x
50.1%1(*.f64 x y)
50.1%1z
50.1%1b
50.1%1(+.f64 (*.f64 x y) (*.f64 z t))
50.1%1(*.f64 z t)
50.1%1t
51.8%2i
57.5%3c
57.6%3(*.f64 (+.f64 a (*.f64 b c)) c)
50.1%1(*.f64 #s(literal 2 binary64) (-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
50.1%1(-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i))
54.0%2(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)
Compiler

Compiled 73 to 150 computations (-105.5% saved)

regimes57.0ms (2.3%)

Memory
9.9MiB live, 131.3MiB allocated
Counts
11 → 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)) (*.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) (* 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 #s(approx (* x y) (+.f64 a (*.f64 b c))) (*.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 (*.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)))))
(*.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)) #s(approx (* x y) (+.f64 a (*.f64 b c))))))))
Outputs
(*.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 x y)))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (*.f64 (+.f64 a (*.f64 b c)) c))
Calls

15 calls:

5.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
(*.f64 x y)
4.0ms
(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)
4.0ms
y
4.0ms
x
Results
AccuracySegmentsBranch
33.6%3x
28.5%1b
35.0%3(+.f64 (*.f64 x y) (*.f64 z t))
36.2%4(*.f64 x y)
36.5%3(*.f64 z t)
31.9%3y
33.6%3t
34.7%3(*.f64 #s(literal 2 binary64) (-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
34.7%3(-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i))
34.7%3z
28.5%1a
35.7%3i
38.2%3(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)
38.6%3c
39.6%3(*.f64 (+.f64 a (*.f64 b c)) c)
Compiler

Compiled 73 to 150 computations (-105.5% saved)

regimes4.0ms (0.1%)

Memory
7.9MiB live, 7.9MiB allocated
Counts
9 → 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)) (*.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) (* 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 #s(approx (* x y) (+.f64 a (*.f64 b c))) (*.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 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
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 x y)))
#s(approx (* 2 (- (+ (* x y) (* z t)) (* (* (+ a (* b c)) c) i))) (*.f64 (+.f64 a (*.f64 b c)) c))
Calls

1 calls:

3.0ms
(*.f64 (+.f64 a (*.f64 b c)) c)
Results
AccuracySegmentsBranch
39.6%3(*.f64 (+.f64 a (*.f64 b c)) c)
Compiler

Compiled 7 to 11 computations (-57.1% saved)

regimes10.0ms (0.4%)

Memory
-19.0MiB live, 20.0MiB allocated
Counts
5 → 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)) (*.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

4 calls:

3.0ms
c
2.0ms
(*.f64 z t)
2.0ms
(*.f64 (+.f64 a (*.f64 b c)) c)
2.0ms
(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)
Results
AccuracySegmentsBranch
36.5%3(*.f64 z t)
30.9%2(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)
32.2%3c
31.1%2(*.f64 (+.f64 a (*.f64 b c)) c)
Compiler

Compiled 20 to 40 computations (-100% saved)

regimes27.0ms (1.1%)

Memory
20.9MiB live, 60.3MiB 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)) (*.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

13 calls:

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

Compiled 71 to 134 computations (-88.7% saved)

regimes31.0ms (1.3%)

Memory
-23.5MiB live, 62.6MiB allocated
Counts
3 → 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))))
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:

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

Compiled 73 to 150 computations (-105.5% saved)

regimes2.0ms (0.1%)

Memory
3.8MiB live, 3.8MiB 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
c
Results
AccuracySegmentsBranch
16.6%2c
Compiler

Compiled 1 to 8 computations (-700% saved)

regimes3.0ms (0.1%)

Memory
7.2MiB live, 7.2MiB 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
c
1.0ms
(*.f64 x y)
Results
AccuracySegmentsBranch
15.0%1(*.f64 x y)
15.0%1c
Compiler

Compiled 4 to 17 computations (-325% saved)

bsearch1.0ms (0%)

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

Compiled 22 to 29 computations (-31.8% saved)

bsearch1.0ms (0%)

Memory
1.8MiB live, 1.8MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
3.6859824547033755e+303
+inf
0.0ms
2.3217768298404318e+142
8.189603348354635e+152
0.0ms
-7.531513070564365e+178
-3.1042160666115223e+175
0.0ms
-inf
-2.5912851561238787e+307
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.809510253930351e+199
4.663679948504442e+214
0.0ms
-7.531513070564365e+178
-3.1042160666115223e+175
Compiler

Compiled 22 to 29 computations (-31.8% saved)

bsearch1.0ms (0%)

Memory
1.1MiB live, 1.1MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.809510253930351e+199
4.663679948504442e+214
0.0ms
-7.531513070564365e+178
-3.1042160666115223e+175
Compiler

Compiled 22 to 29 computations (-31.8% saved)

bsearch1.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
3.234439098341676e+301
+inf
0.0ms
-inf
-1.389292127237687e+302
Compiler

Compiled 22 to 29 computations (-31.8% saved)

bsearch1.0ms (0%)

Memory
1.1MiB live, 1.1MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
3.234439098341676e+301
+inf
0.0ms
-2.1656710346287474e+257
-1.7781963389484212e+254
Compiler

Compiled 22 to 29 computations (-31.8% saved)

bsearch1.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
3.234439098341676e+301
+inf
0.0ms
-2.1656710346287474e+257
-1.7781963389484212e+254
Compiler

Compiled 22 to 29 computations (-31.8% saved)

bsearch35.0ms (1.4%)

Memory
-14.6MiB live, 63.5MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
12.0ms
3.0131181853639765e+155
2.5980484139255805e+156
20.0ms
-1.8399535487420082e+183
-6.280321171576718e+171
Samples
21.0ms256×0valid
Compiler

Compiled 1 078 to 733 computations (32% saved)

Precisions
Click to see histograms. Total time spent on operations: 12.0ms
ival-mult: 8.0ms (68.6% of total)
ival-add: 2.0ms (17.2% of total)
ival-sub: 1.0ms (8.6% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch22.0ms (0.9%)

Memory
-2.2MiB live, 38.4MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
20.0ms
3.3386719275127857e+244
2.3992409016305784e+251
Samples
14.0ms144×0valid
Compiler

Compiled 616 to 425 computations (31% saved)

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

bsearch1.0ms (0.1%)

Memory
2.7MiB live, 2.7MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
1.0ms
3.3386719275127857e+244
2.3992409016305784e+251
Compiler

Compiled 778 to 434 computations (44.2% saved)

bsearch21.0ms (0.9%)

Memory
9.6MiB live, 48.4MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
19.0ms
2.3992409016305784e+251
6.58142256577388e+260
Samples
14.0ms144×0valid
Compiler

Compiled 598 to 416 computations (30.4% saved)

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

simplify5.0ms (0.2%)

Memory
11.0MiB live, 11.0MiB allocated

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...