Numeric.AD.Rank1.Halley:findZero from ad-4.2.4

Time bar (total: 1.7s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated

analyze179.0ms (10.6%)

Memory
-5.8MiB live, 274.1MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.8%0.2%0%0%0%0
0%0%99.8%0.2%0%0%0%1
0%0%99.8%0.2%0%0%0%2
0%0%99.8%0.2%0%0%0%3
0%0%99.8%0.2%0%0%0%4
25%25%74.9%0.2%0%0%0%5
25%25%74.9%0.2%0%0%0%6
31.3%31.2%68.6%0.2%0%0%0%7
40.6%40.5%59.3%0.2%0%0%0%8
50%49.9%49.9%0.2%0%0%0%9
50%49.9%49.9%0.2%0%0%0%10
54.7%54.6%45.2%0.2%0%0%0%11
62.5%62.4%37.4%0.2%0%0%0%12
Compiler

Compiled 19 to 15 computations (21.1% saved)

sample975.0ms (57.9%)

Memory
32.8MiB live, 1 458.5MiB allocated
Samples
668.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 444.0ms
ival-mult: 285.0ms (64.1% of total)
ival-sub: 81.0ms (18.2% of total)
ival-div: 61.0ms (13.7% of total)
ival-true: 7.0ms (1.6% of total)
exact: 6.0ms (1.4% of total)
ival-assert: 4.0ms (0.9% of total)
Bogosity

explain157.0ms (9.3%)

Memory
16.0MiB live, 249.3MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
870-2(-3.7158122694369725e+49 -2.268112631105594e-106 -6.85506928813072e-219 -4.639113195924752e-210)(/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) (-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y t)))
40-0-(-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y t))
00-0-(*.f64 y t)
00-0-(*.f64 (*.f64 y #s(literal 2 binary64)) z)
00-0-t
00-0-(*.f64 (*.f64 z #s(literal 2 binary64)) z)
00-0-z
00-0-(*.f64 y #s(literal 2 binary64))
00-0-y
00-0-#s(literal 2 binary64)
00-0-(*.f64 z #s(literal 2 binary64))
00-0-(-.f64 x (/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) (-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y t))))
00-0-x
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
/.f64(/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) (-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y t)))o/o140
(*.f64 (*.f64 y #s(literal 2 binary64)) z)overflow28
(*.f64 y t)overflow38
(-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y t))overflow92
(*.f64 (*.f64 z #s(literal 2 binary64)) z)overflow62
/.f64(/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) (-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y t)))o/n70
(*.f64 (*.f64 y #s(literal 2 binary64)) z)overflow28
-.f64(-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y t))nan-rescue40
(*.f64 (*.f64 z #s(literal 2 binary64)) z)overflow62
(*.f64 y t)overflow38
/.f64(/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) (-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y t)))n/o40
(*.f64 y t)overflow38
(-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y t))overflow92
(*.f64 (*.f64 z #s(literal 2 binary64)) z)overflow62
/.f64(/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) (-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y t)))u/n30
(*.f64 (*.f64 y #s(literal 2 binary64)) z)underflow32
/.f64(/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) (-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y t)))n/u20
(*.f64 y t)underflow32
(-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y t))underflow6
(*.f64 (*.f64 z #s(literal 2 binary64)) z)underflow59
Confusion
Predicted +Predicted -
+3112
-0213
Precision
1.0
Recall
0.7209302325581395
Confusion?
Predicted +Predicted MaybePredicted -
+31012
-00213
Precision?
1.0
Recall?
0.7209302325581395
Freqs
test
numberfreq
0225
128
23
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
48.0ms512×0valid
Compiler

Compiled 216 to 56 computations (74.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 28.0ms
ival-mult: 16.0ms (56.6% of total)
ival-sub: 8.0ms (28.3% of total)
ival-div: 3.0ms (10.6% of total)
ival-true: 1.0ms (3.5% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess9.0ms (0.6%)

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

Compiled 17 to 13 computations (23.5% saved)

eval0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated
Compiler

Compiled 0 to 4 computations (-∞% saved)

prune0.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
84.4%
(-.f64 x (/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) (-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y t))))
Compiler

Compiled 17 to 13 computations (23.5% saved)

simplify1.0ms (0%)

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

Found 4 expressions of interest:

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

localize37.0ms (2.2%)

Memory
-2.8MiB live, 50.7MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 y #s(literal 2 binary64))
accuracy0.0078125
(-.f64 x (/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) (-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y t))))
accuracy0.8984333716604117
(-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y t))
accuracy20.390994811426406
(/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) (-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y t)))
Samples
29.0ms256×0valid
Compiler

Compiled 132 to 28 computations (78.8% saved)

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

series20.0ms (1.2%)

Memory
-7.3MiB live, 31.1MiB allocated
Counts
5 → 65
Calls
Call 1
Inputs
(-.f64 x (/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) (-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y t))))
(/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) (-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y t)))
(*.f64 (*.f64 y #s(literal 2 binary64)) z)
(*.f64 y #s(literal 2 binary64))
(-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y t))
Outputs
(* -2 (/ (* y z) (- (* 2 (pow z 2)) (* t y))))
(- x (* 2 (/ (* y z) (- (* 2 (pow z 2)) (* t y)))))
x
(* x (+ 1 (* -2 (/ (* y z) (* x (- (* 2 (pow z 2)) (* t y)))))))
(* -1 (* x (- (* 2 (/ (* y z) (* x (- (* 2 (pow z 2)) (* t y))))) 1)))
(+ x (* -1 (/ y z)))
(+ x (* y (- (* -1/2 (/ (* t y) (pow z 3))) (/ 1 z))))
(+ x (* y (- (* y (- (* -1/4 (/ (* (pow t 2) y) (pow z 5))) (* 1/2 (/ t (pow z 3))))) (/ 1 z))))
(/ y z)
(* y (+ (* 1/2 (/ (* t y) (pow z 3))) (/ 1 z)))
(* y (+ (* y (+ (* 1/4 (/ (* (pow t 2) y) (pow z 5))) (* 1/2 (/ t (pow z 3))))) (/ 1 z)))
(* y (+ (* y (+ (* 1/2 (/ t (pow z 3))) (* y (+ (* 1/8 (/ (* (pow t 3) y) (pow z 7))) (* 1/4 (/ (pow t 2) (pow z 5))))))) (/ 1 z)))
(* 2 (* y z))
(* 2 y)
(* 2 (pow z 2))
(+ (* -1 (* t y)) (* 2 (pow z 2)))
(- x (* -2 (/ z t)))
(- (+ x (* 4 (/ (pow z 3) (* (pow t 2) y)))) (* -2 (/ z t)))
(- (+ x (* 8 (/ (pow z 5) (* (pow t 3) (pow y 2))))) (+ (* -4 (/ (pow z 3) (* (pow t 2) y))) (* -2 (/ z t))))
(- (+ x (* 16 (/ (pow z 7) (* (pow t 4) (pow y 3))))) (+ (* -8 (/ (pow z 5) (* (pow t 3) (pow y 2)))) (+ (* -4 (/ (pow z 3) (* (pow t 2) y))) (* -2 (/ z t)))))
(* -2 (/ z t))
(+ (* -4 (/ (pow z 3) (* (pow t 2) y))) (* -2 (/ z t)))
(+ (* -8 (/ (pow z 5) (* (pow t 3) (pow y 2)))) (+ (* -4 (/ (pow z 3) (* (pow t 2) y))) (* -2 (/ z t))))
(+ (* -16 (/ (pow z 7) (* (pow t 4) (pow y 3)))) (+ (* -8 (/ (pow z 5) (* (pow t 3) (pow y 2)))) (+ (* -4 (/ (pow z 3) (* (pow t 2) y))) (* -2 (/ z t)))))
(* -1 (* t y))
(* y (- (* 2 (/ (pow z 2) y)) t))
(- (+ x (* -1 (/ (- (* -8 (/ (pow z 5) (* (pow t 3) y))) (* 4 (/ (pow z 3) (pow t 2)))) y))) (* -2 (/ z t)))
(- (+ x (* -1 (/ (- (* -1 (/ (- (* 16 (/ (pow z 7) (* (pow t 4) y))) (* -8 (/ (pow z 5) (pow t 3)))) y)) (* 4 (/ (pow z 3) (pow t 2)))) y))) (* -2 (/ z t)))
(+ (* -2 (/ z t)) (* -1 (/ (+ (* 4 (/ (pow z 3) (pow t 2))) (* 8 (/ (pow z 5) (* (pow t 3) y)))) y)))
(+ (* -2 (/ z t)) (* -1 (/ (+ (* -1 (/ (+ (* -16 (/ (pow z 7) (* (pow t 4) y))) (* -8 (/ (pow z 5) (pow t 3)))) y)) (* 4 (/ (pow z 3) (pow t 2)))) y)))
(* -1 (* y (- (* -2 (/ (pow z 2) y)) (* -1 t))))
(+ x (* 2 (/ z t)))
(+ x (* z (+ (* 4 (/ (pow z 2) (* (pow t 2) y))) (* 2 (/ 1 t)))))
(+ x (* z (+ (* (pow z 2) (+ (* 8 (/ (pow z 2) (* (pow t 3) (pow y 2)))) (* 4 (/ 1 (* (pow t 2) y))))) (* 2 (/ 1 t)))))
(* z (- (* -4 (/ (pow z 2) (* (pow t 2) y))) (* 2 (/ 1 t))))
(* z (- (* (pow z 2) (- (* -8 (/ (pow z 2) (* (pow t 3) (pow y 2)))) (* 4 (/ 1 (* (pow t 2) y))))) (* 2 (/ 1 t))))
(* z (- (* (pow z 2) (- (* (pow z 2) (- (* -16 (/ (pow z 2) (* (pow t 4) (pow y 3)))) (* 8 (/ 1 (* (pow t 3) (pow y 2)))))) (* 4 (/ 1 (* (pow t 2) y))))) (* 2 (/ 1 t))))
(- (* 2 (pow z 2)) (* t y))
(- (+ x (* -1/2 (/ (* t (pow y 2)) (pow z 3)))) (/ y z))
(- (+ x (* -1/4 (/ (* (pow t 2) (pow y 3)) (pow z 5)))) (+ (* 1/2 (/ (* t (pow y 2)) (pow z 3))) (/ y z)))
(/ (+ y (* 1/2 (/ (* t (pow y 2)) (pow z 2)))) z)
(/ (+ y (+ (* 1/4 (/ (* (pow t 2) (pow y 3)) (pow z 4))) (* 1/2 (/ (* t (pow y 2)) (pow z 2))))) z)
(/ (+ y (+ (* 1/8 (/ (* (pow t 3) (pow y 4)) (pow z 6))) (+ (* 1/4 (/ (* (pow t 2) (pow y 3)) (pow z 4))) (* 1/2 (/ (* t (pow y 2)) (pow z 2)))))) z)
(* (pow z 2) (+ 2 (* -1 (/ (* t y) (pow z 2)))))
(+ x (* -1 (/ (- (* 1/2 (/ (* t (pow y 2)) (pow z 2))) (* -1 y)) z)))
(+ x (* -1 (/ (- (* 1/4 (/ (* (pow t 2) (pow y 3)) (pow z 4))) (+ (* -1 y) (* -1/2 (/ (* t (pow y 2)) (pow z 2))))) z)))
(* -1 (/ (+ (* -1 y) (* -1/2 (/ (* t (pow y 2)) (pow z 2)))) z))
(* -1 (/ (+ (* -1 y) (+ (* -1/2 (/ (* t (pow y 2)) (pow z 2))) (* -1/4 (/ (* (pow t 2) (pow y 3)) (pow z 4))))) z))
(* -1 (/ (+ (* -1 y) (+ (* -1/2 (/ (* t (pow y 2)) (pow z 2))) (+ (* -1/4 (/ (* (pow t 2) (pow y 3)) (pow z 4))) (* -1/8 (/ (* (pow t 3) (pow y 4)) (pow z 6)))))) z))
(- x (/ y z))
(- (+ x (* t (- (* -1/4 (/ (* t (pow y 3)) (pow z 5))) (* 1/2 (/ (pow y 2) (pow z 3)))))) (/ y z))
(- (+ x (* t (- (* t (- (* -1/8 (/ (* t (pow y 4)) (pow z 7))) (* 1/4 (/ (pow y 3) (pow z 5))))) (* 1/2 (/ (pow y 2) (pow z 3)))))) (/ y z))
(+ (* 1/2 (/ (* t (pow y 2)) (pow z 3))) (/ y z))
(+ (* t (+ (* 1/4 (/ (* t (pow y 3)) (pow z 5))) (* 1/2 (/ (pow y 2) (pow z 3))))) (/ y z))
(+ (* t (+ (* 1/2 (/ (pow y 2) (pow z 3))) (* t (+ (* 1/8 (/ (* t (pow y 4)) (pow z 7))) (* 1/4 (/ (pow y 3) (pow z 5))))))) (/ y z))
(/ (+ (* -4 (/ (pow z 3) (* t y))) (* -2 z)) t)
(/ (+ (* -8 (/ (pow z 5) (* (pow t 2) (pow y 2)))) (+ (* -4 (/ (pow z 3) (* t y))) (* -2 z))) t)
(/ (+ (* -16 (/ (pow z 7) (* (pow t 3) (pow y 3)))) (+ (* -8 (/ (pow z 5) (* (pow t 2) (pow y 2)))) (+ (* -4 (/ (pow z 3) (* t y))) (* -2 z)))) t)
(* t (- (* 2 (/ (pow z 2) t)) y))
(+ x (* -1 (/ (- (* -4 (/ (pow z 3) (* t y))) (* 2 z)) t)))
(+ x (* -1 (/ (- (* -1 (/ (- (* 8 (/ (pow z 5) (* t (pow y 2)))) (* -4 (/ (pow z 3) y))) t)) (* 2 z)) t)))
(* -1 (/ (+ (* 2 z) (* 4 (/ (pow z 3) (* t y)))) t))
(* -1 (/ (+ (* -1 (/ (+ (* -8 (/ (pow z 5) (* t (pow y 2)))) (* -4 (/ (pow z 3) y))) t)) (* 2 z)) t))
(* -1 (/ (+ (* -1 (/ (+ (* -4 (/ (pow z 3) y)) (* -1 (/ (+ (* 8 (/ (pow z 5) (pow y 2))) (* 16 (/ (pow z 7) (* t (pow y 3))))) t))) t)) (* 2 z)) t))
(* -1 (* t (- (* -2 (/ (pow z 2) t)) (* -1 y))))
Calls

12 calls:

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

simplify1.0ms (0.1%)

Memory
2.0MiB live, 1.9MiB allocated
Algorithm
egg-herbie
Counts
65 → 5
Calls
Call 1
Inputs
(* -2 (/ (* y z) (- (* 2 (pow z 2)) (* t y))))
(- x (* 2 (/ (* y z) (- (* 2 (pow z 2)) (* t y)))))
x
(* x (+ 1 (* -2 (/ (* y z) (* x (- (* 2 (pow z 2)) (* t y)))))))
(* -1 (* x (- (* 2 (/ (* y z) (* x (- (* 2 (pow z 2)) (* t y))))) 1)))
(+ x (* -1 (/ y z)))
(+ x (* y (- (* -1/2 (/ (* t y) (pow z 3))) (/ 1 z))))
(+ x (* y (- (* y (- (* -1/4 (/ (* (pow t 2) y) (pow z 5))) (* 1/2 (/ t (pow z 3))))) (/ 1 z))))
(/ y z)
(* y (+ (* 1/2 (/ (* t y) (pow z 3))) (/ 1 z)))
(* y (+ (* y (+ (* 1/4 (/ (* (pow t 2) y) (pow z 5))) (* 1/2 (/ t (pow z 3))))) (/ 1 z)))
(* y (+ (* y (+ (* 1/2 (/ t (pow z 3))) (* y (+ (* 1/8 (/ (* (pow t 3) y) (pow z 7))) (* 1/4 (/ (pow t 2) (pow z 5))))))) (/ 1 z)))
(* 2 (* y z))
(* 2 y)
(* 2 (pow z 2))
(+ (* -1 (* t y)) (* 2 (pow z 2)))
(- x (* -2 (/ z t)))
(- (+ x (* 4 (/ (pow z 3) (* (pow t 2) y)))) (* -2 (/ z t)))
(- (+ x (* 8 (/ (pow z 5) (* (pow t 3) (pow y 2))))) (+ (* -4 (/ (pow z 3) (* (pow t 2) y))) (* -2 (/ z t))))
(- (+ x (* 16 (/ (pow z 7) (* (pow t 4) (pow y 3))))) (+ (* -8 (/ (pow z 5) (* (pow t 3) (pow y 2)))) (+ (* -4 (/ (pow z 3) (* (pow t 2) y))) (* -2 (/ z t)))))
(* -2 (/ z t))
(+ (* -4 (/ (pow z 3) (* (pow t 2) y))) (* -2 (/ z t)))
(+ (* -8 (/ (pow z 5) (* (pow t 3) (pow y 2)))) (+ (* -4 (/ (pow z 3) (* (pow t 2) y))) (* -2 (/ z t))))
(+ (* -16 (/ (pow z 7) (* (pow t 4) (pow y 3)))) (+ (* -8 (/ (pow z 5) (* (pow t 3) (pow y 2)))) (+ (* -4 (/ (pow z 3) (* (pow t 2) y))) (* -2 (/ z t)))))
(* -1 (* t y))
(* y (- (* 2 (/ (pow z 2) y)) t))
(- (+ x (* -1 (/ (- (* -8 (/ (pow z 5) (* (pow t 3) y))) (* 4 (/ (pow z 3) (pow t 2)))) y))) (* -2 (/ z t)))
(- (+ x (* -1 (/ (- (* -1 (/ (- (* 16 (/ (pow z 7) (* (pow t 4) y))) (* -8 (/ (pow z 5) (pow t 3)))) y)) (* 4 (/ (pow z 3) (pow t 2)))) y))) (* -2 (/ z t)))
(+ (* -2 (/ z t)) (* -1 (/ (+ (* 4 (/ (pow z 3) (pow t 2))) (* 8 (/ (pow z 5) (* (pow t 3) y)))) y)))
(+ (* -2 (/ z t)) (* -1 (/ (+ (* -1 (/ (+ (* -16 (/ (pow z 7) (* (pow t 4) y))) (* -8 (/ (pow z 5) (pow t 3)))) y)) (* 4 (/ (pow z 3) (pow t 2)))) y)))
(* -1 (* y (- (* -2 (/ (pow z 2) y)) (* -1 t))))
(+ x (* 2 (/ z t)))
(+ x (* z (+ (* 4 (/ (pow z 2) (* (pow t 2) y))) (* 2 (/ 1 t)))))
(+ x (* z (+ (* (pow z 2) (+ (* 8 (/ (pow z 2) (* (pow t 3) (pow y 2)))) (* 4 (/ 1 (* (pow t 2) y))))) (* 2 (/ 1 t)))))
(* z (- (* -4 (/ (pow z 2) (* (pow t 2) y))) (* 2 (/ 1 t))))
(* z (- (* (pow z 2) (- (* -8 (/ (pow z 2) (* (pow t 3) (pow y 2)))) (* 4 (/ 1 (* (pow t 2) y))))) (* 2 (/ 1 t))))
(* z (- (* (pow z 2) (- (* (pow z 2) (- (* -16 (/ (pow z 2) (* (pow t 4) (pow y 3)))) (* 8 (/ 1 (* (pow t 3) (pow y 2)))))) (* 4 (/ 1 (* (pow t 2) y))))) (* 2 (/ 1 t))))
(- (* 2 (pow z 2)) (* t y))
(- (+ x (* -1/2 (/ (* t (pow y 2)) (pow z 3)))) (/ y z))
(- (+ x (* -1/4 (/ (* (pow t 2) (pow y 3)) (pow z 5)))) (+ (* 1/2 (/ (* t (pow y 2)) (pow z 3))) (/ y z)))
(/ (+ y (* 1/2 (/ (* t (pow y 2)) (pow z 2)))) z)
(/ (+ y (+ (* 1/4 (/ (* (pow t 2) (pow y 3)) (pow z 4))) (* 1/2 (/ (* t (pow y 2)) (pow z 2))))) z)
(/ (+ y (+ (* 1/8 (/ (* (pow t 3) (pow y 4)) (pow z 6))) (+ (* 1/4 (/ (* (pow t 2) (pow y 3)) (pow z 4))) (* 1/2 (/ (* t (pow y 2)) (pow z 2)))))) z)
(* (pow z 2) (+ 2 (* -1 (/ (* t y) (pow z 2)))))
(+ x (* -1 (/ (- (* 1/2 (/ (* t (pow y 2)) (pow z 2))) (* -1 y)) z)))
(+ x (* -1 (/ (- (* 1/4 (/ (* (pow t 2) (pow y 3)) (pow z 4))) (+ (* -1 y) (* -1/2 (/ (* t (pow y 2)) (pow z 2))))) z)))
(* -1 (/ (+ (* -1 y) (* -1/2 (/ (* t (pow y 2)) (pow z 2)))) z))
(* -1 (/ (+ (* -1 y) (+ (* -1/2 (/ (* t (pow y 2)) (pow z 2))) (* -1/4 (/ (* (pow t 2) (pow y 3)) (pow z 4))))) z))
(* -1 (/ (+ (* -1 y) (+ (* -1/2 (/ (* t (pow y 2)) (pow z 2))) (+ (* -1/4 (/ (* (pow t 2) (pow y 3)) (pow z 4))) (* -1/8 (/ (* (pow t 3) (pow y 4)) (pow z 6)))))) z))
(- x (/ y z))
(- (+ x (* t (- (* -1/4 (/ (* t (pow y 3)) (pow z 5))) (* 1/2 (/ (pow y 2) (pow z 3)))))) (/ y z))
(- (+ x (* t (- (* t (- (* -1/8 (/ (* t (pow y 4)) (pow z 7))) (* 1/4 (/ (pow y 3) (pow z 5))))) (* 1/2 (/ (pow y 2) (pow z 3)))))) (/ y z))
(+ (* 1/2 (/ (* t (pow y 2)) (pow z 3))) (/ y z))
(+ (* t (+ (* 1/4 (/ (* t (pow y 3)) (pow z 5))) (* 1/2 (/ (pow y 2) (pow z 3))))) (/ y z))
(+ (* t (+ (* 1/2 (/ (pow y 2) (pow z 3))) (* t (+ (* 1/8 (/ (* t (pow y 4)) (pow z 7))) (* 1/4 (/ (pow y 3) (pow z 5))))))) (/ y z))
(/ (+ (* -4 (/ (pow z 3) (* t y))) (* -2 z)) t)
(/ (+ (* -8 (/ (pow z 5) (* (pow t 2) (pow y 2)))) (+ (* -4 (/ (pow z 3) (* t y))) (* -2 z))) t)
(/ (+ (* -16 (/ (pow z 7) (* (pow t 3) (pow y 3)))) (+ (* -8 (/ (pow z 5) (* (pow t 2) (pow y 2)))) (+ (* -4 (/ (pow z 3) (* t y))) (* -2 z)))) t)
(* t (- (* 2 (/ (pow z 2) t)) y))
(+ x (* -1 (/ (- (* -4 (/ (pow z 3) (* t y))) (* 2 z)) t)))
(+ x (* -1 (/ (- (* -1 (/ (- (* 8 (/ (pow z 5) (* t (pow y 2)))) (* -4 (/ (pow z 3) y))) t)) (* 2 z)) t)))
(* -1 (/ (+ (* 2 z) (* 4 (/ (pow z 3) (* t y)))) t))
(* -1 (/ (+ (* -1 (/ (+ (* -8 (/ (pow z 5) (* t (pow y 2)))) (* -4 (/ (pow z 3) y))) t)) (* 2 z)) t))
(* -1 (/ (+ (* -1 (/ (+ (* -4 (/ (pow z 3) y)) (* -1 (/ (+ (* 8 (/ (pow z 5) (pow y 2))) (* 16 (/ (pow z 7) (* t (pow y 3))))) t))) t)) (* 2 z)) t))
(* -1 (* t (- (* -2 (/ (pow z 2) t)) (* -1 y))))
Outputs
(* -2 (/ (* y z) (- (* 2 (pow z 2)) (* t y))))
(-.f64 x (/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) (-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y t))))
(- x (* 2 (/ (* y z) (- (* 2 (pow z 2)) (* t y)))))
(/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) (-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y t)))
x
(*.f64 (*.f64 y #s(literal 2 binary64)) z)
(* x (+ 1 (* -2 (/ (* y z) (* x (- (* 2 (pow z 2)) (* t y)))))))
(*.f64 y #s(literal 2 binary64))
(* -1 (* x (- (* 2 (/ (* y z) (* x (- (* 2 (pow z 2)) (* t y))))) 1)))
(-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y t))

rewrite0.0ms (0%)

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

eval1.0ms (0.1%)

Memory
2.3MiB live, 2.3MiB allocated
Compiler

Compiled 224 to 27 computations (87.9% saved)

prune2.0ms (0.1%)

Memory
4.6MiB live, 4.6MiB allocated
Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New6410
Fresh000
Picked011
Done000
Total6511
Accuracy
84.7%
Counts
11 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
84.4%
(-.f64 x (/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) (-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y t))))
2.9%
#s(approx (- x (/ (* (* y 2) z) (- (* (* z 2) z) (* y t)))) (/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) (-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y t))))
2.8%
#s(approx (- x (/ (* (* y 2) z) (- (* (* z 2) z) (* y t)))) (-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y t)))
3.1%
#s(approx (- x (/ (* (* y 2) z) (- (* (* z 2) z) (* y t)))) (*.f64 (*.f64 y #s(literal 2 binary64)) z))
3.3%
#s(approx (- x (/ (* (* y 2) z) (- (* (* z 2) z) (* y t)))) (*.f64 y #s(literal 2 binary64)))
Compiler

Compiled 121 to 87 computations (28.1% saved)

simplify1.0ms (0.1%)

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

Found 13 expressions of interest:

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

localize41.0ms (2.5%)

Memory
-13.4MiB live, 62.6MiB allocated
Localize:

Found 13 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 y #s(literal 2 binary64))
accuracy0.8984333716604117
(-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y t))
accuracy20.390994811426406
(/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) (-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y t)))
accuracy61.948746892713125
#s(approx (- x (/ (* (* y 2) z) (- (* (* z 2) z) (* y t)))) (/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) (-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y t))))
accuracy0.0
(*.f64 z #s(literal 2 binary64))
accuracy0.0
(*.f64 y t)
accuracy0.8984333716604117
(-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y t))
accuracy62.16556181482013
#s(approx (- x (/ (* (* y 2) z) (- (* (* z 2) z) (* y t)))) (-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y t)))
accuracy0.0
(*.f64 (*.f64 y #s(literal 2 binary64)) z)
accuracy0.0
(*.f64 y #s(literal 2 binary64))
accuracy61.98672867291403
#s(approx (- x (/ (* (* y 2) z) (- (* (* z 2) z) (* y t)))) (*.f64 (*.f64 y #s(literal 2 binary64)) z))
accuracy0.0
(*.f64 y #s(literal 2 binary64))
accuracy61.89035880693172
#s(approx (- x (/ (* (* y 2) z) (- (* (* z 2) z) (* y t)))) (*.f64 y #s(literal 2 binary64)))
Samples
28.0ms256×0valid
Compiler

Compiled 348 to 40 computations (88.5% saved)

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

series11.0ms (0.7%)

Memory
23.5MiB live, 23.5MiB allocated
Counts
11 → 67
Calls
Call 1
Inputs
#s(approx (- x (/ (* (* y 2) z) (- (* (* z 2) z) (* y t)))) (*.f64 y #s(literal 2 binary64)))
(*.f64 y #s(literal 2 binary64))
#s(approx (- x (/ (* (* y 2) z) (- (* (* z 2) z) (* y t)))) (*.f64 (*.f64 y #s(literal 2 binary64)) z))
(*.f64 (*.f64 y #s(literal 2 binary64)) z)
#s(approx (- x (/ (* (* y 2) z) (- (* (* z 2) z) (* y t)))) (-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y t)))
(-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y t))
(*.f64 (*.f64 z #s(literal 2 binary64)) z)
(*.f64 z #s(literal 2 binary64))
#s(approx (- x (/ (* (* y 2) z) (- (* (* z 2) z) (* y t)))) (/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) (-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y t))))
(/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) (-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y t)))
(*.f64 y t)
Outputs
(* -2 (/ (* y z) (- (* 2 (pow z 2)) (* t y))))
(- x (* 2 (/ (* y z) (- (* 2 (pow z 2)) (* t y)))))
x
(* x (+ 1 (* -2 (/ (* y z) (* x (- (* 2 (pow z 2)) (* t y)))))))
(* -1 (* x (- (* 2 (/ (* y z) (* x (- (* 2 (pow z 2)) (* t y))))) 1)))
(+ x (* -1 (/ y z)))
(+ x (* y (- (* -1/2 (/ (* t y) (pow z 3))) (/ 1 z))))
(+ x (* y (- (* y (- (* -1/4 (/ (* (pow t 2) y) (pow z 5))) (* 1/2 (/ t (pow z 3))))) (/ 1 z))))
(* 2 y)
(* 2 (* y z))
(* 2 (pow z 2))
(+ (* -1 (* t y)) (* 2 (pow z 2)))
(/ y z)
(* y (+ (* 1/2 (/ (* t y) (pow z 3))) (/ 1 z)))
(* y (+ (* y (+ (* 1/4 (/ (* (pow t 2) y) (pow z 5))) (* 1/2 (/ t (pow z 3))))) (/ 1 z)))
(* y (+ (* y (+ (* 1/2 (/ t (pow z 3))) (* y (+ (* 1/8 (/ (* (pow t 3) y) (pow z 7))) (* 1/4 (/ (pow t 2) (pow z 5))))))) (/ 1 z)))
(* t y)
(- x (* -2 (/ z t)))
(- (+ x (* 4 (/ (pow z 3) (* (pow t 2) y)))) (* -2 (/ z t)))
(- (+ x (* 8 (/ (pow z 5) (* (pow t 3) (pow y 2))))) (+ (* -4 (/ (pow z 3) (* (pow t 2) y))) (* -2 (/ z t))))
(- (+ x (* 16 (/ (pow z 7) (* (pow t 4) (pow y 3))))) (+ (* -8 (/ (pow z 5) (* (pow t 3) (pow y 2)))) (+ (* -4 (/ (pow z 3) (* (pow t 2) y))) (* -2 (/ z t)))))
(* -1 (* t y))
(* y (- (* 2 (/ (pow z 2) y)) t))
(* -2 (/ z t))
(+ (* -4 (/ (pow z 3) (* (pow t 2) y))) (* -2 (/ z t)))
(+ (* -8 (/ (pow z 5) (* (pow t 3) (pow y 2)))) (+ (* -4 (/ (pow z 3) (* (pow t 2) y))) (* -2 (/ z t))))
(+ (* -16 (/ (pow z 7) (* (pow t 4) (pow y 3)))) (+ (* -8 (/ (pow z 5) (* (pow t 3) (pow y 2)))) (+ (* -4 (/ (pow z 3) (* (pow t 2) y))) (* -2 (/ z t)))))
(- (+ x (* -1 (/ (- (* -8 (/ (pow z 5) (* (pow t 3) y))) (* 4 (/ (pow z 3) (pow t 2)))) y))) (* -2 (/ z t)))
(- (+ x (* -1 (/ (- (* -1 (/ (- (* 16 (/ (pow z 7) (* (pow t 4) y))) (* -8 (/ (pow z 5) (pow t 3)))) y)) (* 4 (/ (pow z 3) (pow t 2)))) y))) (* -2 (/ z t)))
(* -1 (* y (- (* -2 (/ (pow z 2) y)) (* -1 t))))
(+ (* -2 (/ z t)) (* -1 (/ (+ (* 4 (/ (pow z 3) (pow t 2))) (* 8 (/ (pow z 5) (* (pow t 3) y)))) y)))
(+ (* -2 (/ z t)) (* -1 (/ (+ (* -1 (/ (+ (* -16 (/ (pow z 7) (* (pow t 4) y))) (* -8 (/ (pow z 5) (pow t 3)))) y)) (* 4 (/ (pow z 3) (pow t 2)))) y)))
(+ x (* 2 (/ z t)))
(+ x (* z (+ (* 4 (/ (pow z 2) (* (pow t 2) y))) (* 2 (/ 1 t)))))
(+ x (* z (+ (* (pow z 2) (+ (* 8 (/ (pow z 2) (* (pow t 3) (pow y 2)))) (* 4 (/ 1 (* (pow t 2) y))))) (* 2 (/ 1 t)))))
(- (* 2 (pow z 2)) (* t y))
(* 2 z)
(* z (- (* -4 (/ (pow z 2) (* (pow t 2) y))) (* 2 (/ 1 t))))
(* z (- (* (pow z 2) (- (* -8 (/ (pow z 2) (* (pow t 3) (pow y 2)))) (* 4 (/ 1 (* (pow t 2) y))))) (* 2 (/ 1 t))))
(* z (- (* (pow z 2) (- (* (pow z 2) (- (* -16 (/ (pow z 2) (* (pow t 4) (pow y 3)))) (* 8 (/ 1 (* (pow t 3) (pow y 2)))))) (* 4 (/ 1 (* (pow t 2) y))))) (* 2 (/ 1 t))))
(- (+ x (* -1/2 (/ (* t (pow y 2)) (pow z 3)))) (/ y z))
(- (+ x (* -1/4 (/ (* (pow t 2) (pow y 3)) (pow z 5)))) (+ (* 1/2 (/ (* t (pow y 2)) (pow z 3))) (/ y z)))
(* (pow z 2) (+ 2 (* -1 (/ (* t y) (pow z 2)))))
(/ (+ y (* 1/2 (/ (* t (pow y 2)) (pow z 2)))) z)
(/ (+ y (+ (* 1/4 (/ (* (pow t 2) (pow y 3)) (pow z 4))) (* 1/2 (/ (* t (pow y 2)) (pow z 2))))) z)
(/ (+ y (+ (* 1/8 (/ (* (pow t 3) (pow y 4)) (pow z 6))) (+ (* 1/4 (/ (* (pow t 2) (pow y 3)) (pow z 4))) (* 1/2 (/ (* t (pow y 2)) (pow z 2)))))) z)
(+ x (* -1 (/ (- (* 1/2 (/ (* t (pow y 2)) (pow z 2))) (* -1 y)) z)))
(+ x (* -1 (/ (- (* 1/4 (/ (* (pow t 2) (pow y 3)) (pow z 4))) (+ (* -1 y) (* -1/2 (/ (* t (pow y 2)) (pow z 2))))) z)))
(* -1 (/ (+ (* -1 y) (* -1/2 (/ (* t (pow y 2)) (pow z 2)))) z))
(* -1 (/ (+ (* -1 y) (+ (* -1/2 (/ (* t (pow y 2)) (pow z 2))) (* -1/4 (/ (* (pow t 2) (pow y 3)) (pow z 4))))) z))
(* -1 (/ (+ (* -1 y) (+ (* -1/2 (/ (* t (pow y 2)) (pow z 2))) (+ (* -1/4 (/ (* (pow t 2) (pow y 3)) (pow z 4))) (* -1/8 (/ (* (pow t 3) (pow y 4)) (pow z 6)))))) z))
(- x (/ y z))
(- (+ x (* t (- (* -1/4 (/ (* t (pow y 3)) (pow z 5))) (* 1/2 (/ (pow y 2) (pow z 3)))))) (/ y z))
(- (+ x (* t (- (* t (- (* -1/8 (/ (* t (pow y 4)) (pow z 7))) (* 1/4 (/ (pow y 3) (pow z 5))))) (* 1/2 (/ (pow y 2) (pow z 3)))))) (/ y z))
(+ (* 1/2 (/ (* t (pow y 2)) (pow z 3))) (/ y z))
(+ (* t (+ (* 1/4 (/ (* t (pow y 3)) (pow z 5))) (* 1/2 (/ (pow y 2) (pow z 3))))) (/ y z))
(+ (* t (+ (* 1/2 (/ (pow y 2) (pow z 3))) (* t (+ (* 1/8 (/ (* t (pow y 4)) (pow z 7))) (* 1/4 (/ (pow y 3) (pow z 5))))))) (/ y z))
(* t (- (* 2 (/ (pow z 2) t)) y))
(/ (+ (* -4 (/ (pow z 3) (* t y))) (* -2 z)) t)
(/ (+ (* -8 (/ (pow z 5) (* (pow t 2) (pow y 2)))) (+ (* -4 (/ (pow z 3) (* t y))) (* -2 z))) t)
(/ (+ (* -16 (/ (pow z 7) (* (pow t 3) (pow y 3)))) (+ (* -8 (/ (pow z 5) (* (pow t 2) (pow y 2)))) (+ (* -4 (/ (pow z 3) (* t y))) (* -2 z)))) t)
(+ x (* -1 (/ (- (* -4 (/ (pow z 3) (* t y))) (* 2 z)) t)))
(+ x (* -1 (/ (- (* -1 (/ (- (* 8 (/ (pow z 5) (* t (pow y 2)))) (* -4 (/ (pow z 3) y))) t)) (* 2 z)) t)))
(* -1 (* t (- (* -2 (/ (pow z 2) t)) (* -1 y))))
(* -1 (/ (+ (* 2 z) (* 4 (/ (pow z 3) (* t y)))) t))
(* -1 (/ (+ (* -1 (/ (+ (* -8 (/ (pow z 5) (* t (pow y 2)))) (* -4 (/ (pow z 3) y))) t)) (* 2 z)) t))
(* -1 (/ (+ (* -1 (/ (+ (* -4 (/ (pow z 3) y)) (* -1 (/ (+ (* 8 (/ (pow z 5) (pow y 2))) (* 16 (/ (pow z 7) (* t (pow y 3))))) t))) t)) (* 2 z)) t))
Calls

12 calls:

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

simplify1.0ms (0.1%)

Memory
2.1MiB live, 2.1MiB allocated
Algorithm
egg-herbie
Counts
67 → 11
Calls
Call 1
Inputs
(* -2 (/ (* y z) (- (* 2 (pow z 2)) (* t y))))
(- x (* 2 (/ (* y z) (- (* 2 (pow z 2)) (* t y)))))
x
(* x (+ 1 (* -2 (/ (* y z) (* x (- (* 2 (pow z 2)) (* t y)))))))
(* -1 (* x (- (* 2 (/ (* y z) (* x (- (* 2 (pow z 2)) (* t y))))) 1)))
(+ x (* -1 (/ y z)))
(+ x (* y (- (* -1/2 (/ (* t y) (pow z 3))) (/ 1 z))))
(+ x (* y (- (* y (- (* -1/4 (/ (* (pow t 2) y) (pow z 5))) (* 1/2 (/ t (pow z 3))))) (/ 1 z))))
(* 2 y)
(* 2 (* y z))
(* 2 (pow z 2))
(+ (* -1 (* t y)) (* 2 (pow z 2)))
(/ y z)
(* y (+ (* 1/2 (/ (* t y) (pow z 3))) (/ 1 z)))
(* y (+ (* y (+ (* 1/4 (/ (* (pow t 2) y) (pow z 5))) (* 1/2 (/ t (pow z 3))))) (/ 1 z)))
(* y (+ (* y (+ (* 1/2 (/ t (pow z 3))) (* y (+ (* 1/8 (/ (* (pow t 3) y) (pow z 7))) (* 1/4 (/ (pow t 2) (pow z 5))))))) (/ 1 z)))
(* t y)
(- x (* -2 (/ z t)))
(- (+ x (* 4 (/ (pow z 3) (* (pow t 2) y)))) (* -2 (/ z t)))
(- (+ x (* 8 (/ (pow z 5) (* (pow t 3) (pow y 2))))) (+ (* -4 (/ (pow z 3) (* (pow t 2) y))) (* -2 (/ z t))))
(- (+ x (* 16 (/ (pow z 7) (* (pow t 4) (pow y 3))))) (+ (* -8 (/ (pow z 5) (* (pow t 3) (pow y 2)))) (+ (* -4 (/ (pow z 3) (* (pow t 2) y))) (* -2 (/ z t)))))
(* -1 (* t y))
(* y (- (* 2 (/ (pow z 2) y)) t))
(* -2 (/ z t))
(+ (* -4 (/ (pow z 3) (* (pow t 2) y))) (* -2 (/ z t)))
(+ (* -8 (/ (pow z 5) (* (pow t 3) (pow y 2)))) (+ (* -4 (/ (pow z 3) (* (pow t 2) y))) (* -2 (/ z t))))
(+ (* -16 (/ (pow z 7) (* (pow t 4) (pow y 3)))) (+ (* -8 (/ (pow z 5) (* (pow t 3) (pow y 2)))) (+ (* -4 (/ (pow z 3) (* (pow t 2) y))) (* -2 (/ z t)))))
(- (+ x (* -1 (/ (- (* -8 (/ (pow z 5) (* (pow t 3) y))) (* 4 (/ (pow z 3) (pow t 2)))) y))) (* -2 (/ z t)))
(- (+ x (* -1 (/ (- (* -1 (/ (- (* 16 (/ (pow z 7) (* (pow t 4) y))) (* -8 (/ (pow z 5) (pow t 3)))) y)) (* 4 (/ (pow z 3) (pow t 2)))) y))) (* -2 (/ z t)))
(* -1 (* y (- (* -2 (/ (pow z 2) y)) (* -1 t))))
(+ (* -2 (/ z t)) (* -1 (/ (+ (* 4 (/ (pow z 3) (pow t 2))) (* 8 (/ (pow z 5) (* (pow t 3) y)))) y)))
(+ (* -2 (/ z t)) (* -1 (/ (+ (* -1 (/ (+ (* -16 (/ (pow z 7) (* (pow t 4) y))) (* -8 (/ (pow z 5) (pow t 3)))) y)) (* 4 (/ (pow z 3) (pow t 2)))) y)))
(+ x (* 2 (/ z t)))
(+ x (* z (+ (* 4 (/ (pow z 2) (* (pow t 2) y))) (* 2 (/ 1 t)))))
(+ x (* z (+ (* (pow z 2) (+ (* 8 (/ (pow z 2) (* (pow t 3) (pow y 2)))) (* 4 (/ 1 (* (pow t 2) y))))) (* 2 (/ 1 t)))))
(- (* 2 (pow z 2)) (* t y))
(* 2 z)
(* z (- (* -4 (/ (pow z 2) (* (pow t 2) y))) (* 2 (/ 1 t))))
(* z (- (* (pow z 2) (- (* -8 (/ (pow z 2) (* (pow t 3) (pow y 2)))) (* 4 (/ 1 (* (pow t 2) y))))) (* 2 (/ 1 t))))
(* z (- (* (pow z 2) (- (* (pow z 2) (- (* -16 (/ (pow z 2) (* (pow t 4) (pow y 3)))) (* 8 (/ 1 (* (pow t 3) (pow y 2)))))) (* 4 (/ 1 (* (pow t 2) y))))) (* 2 (/ 1 t))))
(- (+ x (* -1/2 (/ (* t (pow y 2)) (pow z 3)))) (/ y z))
(- (+ x (* -1/4 (/ (* (pow t 2) (pow y 3)) (pow z 5)))) (+ (* 1/2 (/ (* t (pow y 2)) (pow z 3))) (/ y z)))
(* (pow z 2) (+ 2 (* -1 (/ (* t y) (pow z 2)))))
(/ (+ y (* 1/2 (/ (* t (pow y 2)) (pow z 2)))) z)
(/ (+ y (+ (* 1/4 (/ (* (pow t 2) (pow y 3)) (pow z 4))) (* 1/2 (/ (* t (pow y 2)) (pow z 2))))) z)
(/ (+ y (+ (* 1/8 (/ (* (pow t 3) (pow y 4)) (pow z 6))) (+ (* 1/4 (/ (* (pow t 2) (pow y 3)) (pow z 4))) (* 1/2 (/ (* t (pow y 2)) (pow z 2)))))) z)
(+ x (* -1 (/ (- (* 1/2 (/ (* t (pow y 2)) (pow z 2))) (* -1 y)) z)))
(+ x (* -1 (/ (- (* 1/4 (/ (* (pow t 2) (pow y 3)) (pow z 4))) (+ (* -1 y) (* -1/2 (/ (* t (pow y 2)) (pow z 2))))) z)))
(* -1 (/ (+ (* -1 y) (* -1/2 (/ (* t (pow y 2)) (pow z 2)))) z))
(* -1 (/ (+ (* -1 y) (+ (* -1/2 (/ (* t (pow y 2)) (pow z 2))) (* -1/4 (/ (* (pow t 2) (pow y 3)) (pow z 4))))) z))
(* -1 (/ (+ (* -1 y) (+ (* -1/2 (/ (* t (pow y 2)) (pow z 2))) (+ (* -1/4 (/ (* (pow t 2) (pow y 3)) (pow z 4))) (* -1/8 (/ (* (pow t 3) (pow y 4)) (pow z 6)))))) z))
(- x (/ y z))
(- (+ x (* t (- (* -1/4 (/ (* t (pow y 3)) (pow z 5))) (* 1/2 (/ (pow y 2) (pow z 3)))))) (/ y z))
(- (+ x (* t (- (* t (- (* -1/8 (/ (* t (pow y 4)) (pow z 7))) (* 1/4 (/ (pow y 3) (pow z 5))))) (* 1/2 (/ (pow y 2) (pow z 3)))))) (/ y z))
(+ (* 1/2 (/ (* t (pow y 2)) (pow z 3))) (/ y z))
(+ (* t (+ (* 1/4 (/ (* t (pow y 3)) (pow z 5))) (* 1/2 (/ (pow y 2) (pow z 3))))) (/ y z))
(+ (* t (+ (* 1/2 (/ (pow y 2) (pow z 3))) (* t (+ (* 1/8 (/ (* t (pow y 4)) (pow z 7))) (* 1/4 (/ (pow y 3) (pow z 5))))))) (/ y z))
(* t (- (* 2 (/ (pow z 2) t)) y))
(/ (+ (* -4 (/ (pow z 3) (* t y))) (* -2 z)) t)
(/ (+ (* -8 (/ (pow z 5) (* (pow t 2) (pow y 2)))) (+ (* -4 (/ (pow z 3) (* t y))) (* -2 z))) t)
(/ (+ (* -16 (/ (pow z 7) (* (pow t 3) (pow y 3)))) (+ (* -8 (/ (pow z 5) (* (pow t 2) (pow y 2)))) (+ (* -4 (/ (pow z 3) (* t y))) (* -2 z)))) t)
(+ x (* -1 (/ (- (* -4 (/ (pow z 3) (* t y))) (* 2 z)) t)))
(+ x (* -1 (/ (- (* -1 (/ (- (* 8 (/ (pow z 5) (* t (pow y 2)))) (* -4 (/ (pow z 3) y))) t)) (* 2 z)) t)))
(* -1 (* t (- (* -2 (/ (pow z 2) t)) (* -1 y))))
(* -1 (/ (+ (* 2 z) (* 4 (/ (pow z 3) (* t y)))) t))
(* -1 (/ (+ (* -1 (/ (+ (* -8 (/ (pow z 5) (* t (pow y 2)))) (* -4 (/ (pow z 3) y))) t)) (* 2 z)) t))
(* -1 (/ (+ (* -1 (/ (+ (* -4 (/ (pow z 3) y)) (* -1 (/ (+ (* 8 (/ (pow z 5) (pow y 2))) (* 16 (/ (pow z 7) (* t (pow y 3))))) t))) t)) (* 2 z)) t))
Outputs
(* -2 (/ (* y z) (- (* 2 (pow z 2)) (* t y))))
#s(approx (- x (/ (* (* y 2) z) (- (* (* z 2) z) (* y t)))) (*.f64 y #s(literal 2 binary64)))
(- x (* 2 (/ (* y z) (- (* 2 (pow z 2)) (* t y)))))
(*.f64 y #s(literal 2 binary64))
x
#s(approx (- x (/ (* (* y 2) z) (- (* (* z 2) z) (* y t)))) (*.f64 (*.f64 y #s(literal 2 binary64)) z))
(* x (+ 1 (* -2 (/ (* y z) (* x (- (* 2 (pow z 2)) (* t y)))))))
(*.f64 (*.f64 y #s(literal 2 binary64)) z)
(* -1 (* x (- (* 2 (/ (* y z) (* x (- (* 2 (pow z 2)) (* t y))))) 1)))
#s(approx (- x (/ (* (* y 2) z) (- (* (* z 2) z) (* y t)))) (-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y t)))
(+ x (* -1 (/ y z)))
(-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y t))
(+ x (* y (- (* -1/2 (/ (* t y) (pow z 3))) (/ 1 z))))
(*.f64 (*.f64 z #s(literal 2 binary64)) z)
(+ x (* y (- (* y (- (* -1/4 (/ (* (pow t 2) y) (pow z 5))) (* 1/2 (/ t (pow z 3))))) (/ 1 z))))
(*.f64 z #s(literal 2 binary64))
(* 2 y)
#s(approx (- x (/ (* (* y 2) z) (- (* (* z 2) z) (* y t)))) (/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) (-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y t))))
(* 2 (* y z))
(/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) (-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y t)))
(* 2 (pow z 2))
(*.f64 y t)

rewrite1.0ms (0%)

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

eval3.0ms (0.2%)

Memory
6.4MiB live, 6.5MiB allocated
Compiler

Compiled 1 014 to 44 computations (95.7% saved)

prune8.0ms (0.5%)

Memory
-32.1MiB live, 10.3MiB allocated
Pruning

9 alts after pruning (4 fresh and 5 done)

PrunedKeptTotal
New26430
Fresh000
Picked044
Done011
Total26935
Accuracy
85.0%
Counts
35 → 9
Alt Table
Click to see full alt table
StatusAccuracyProgram
84.4%
(-.f64 x (/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) (-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y t))))
2.9%
#s(approx (- x (/ (* (* y 2) z) (- (* (* z 2) z) (* y t)))) (/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) (-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y t))))
11.2%
#s(approx (- x (/ (* (* y 2) z) (- (* (* z 2) z) (* y t)))) (/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) #s(approx (- (* (* z 2) z) (* y t)) (*.f64 y t))))
2.8%
#s(approx (- x (/ (* (* y 2) z) (- (* (* z 2) z) (* y t)))) (-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y t)))
3.1%
#s(approx (- x (/ (* (* y 2) z) (- (* (* z 2) z) (* y t)))) (*.f64 (*.f64 z #s(literal 2 binary64)) z))
3.1%
#s(approx (- x (/ (* (* y 2) z) (- (* (* z 2) z) (* y t)))) (*.f64 (*.f64 y #s(literal 2 binary64)) z))
3.1%
#s(approx (- x (/ (* (* y 2) z) (- (* (* z 2) z) (* y t)))) (*.f64 z #s(literal 2 binary64)))
3.3%
#s(approx (- x (/ (* (* y 2) z) (- (* (* z 2) z) (* y t)))) (*.f64 y #s(literal 2 binary64)))
3.0%
#s(approx (- x (/ (* (* y 2) z) (- (* (* z 2) z) (* y t)))) #s(approx (- (* (* z 2) z) (* y t)) (*.f64 y t)))
Compiler

Compiled 233 to 156 computations (33% saved)

simplify1.0ms (0%)

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

Found 12 expressions of interest:

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

localize36.0ms (2.1%)

Memory
25.7MiB live, 64.0MiB allocated
Localize:

Found 12 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 y #s(literal 2 binary64))
accuracy20.390994811426406
(/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) #s(approx (- (* (* z 2) z) (* y t)) (*.f64 y t)))
accuracy60.61033990724093
#s(approx (- (* (* z 2) z) (* y t)) (*.f64 y t))
accuracy61.948746892713125
#s(approx (- x (/ (* (* y 2) z) (- (* (* z 2) z) (* y t)))) (/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) #s(approx (- (* (* z 2) z) (* y t)) (*.f64 y t))))
accuracy0.0
(*.f64 (*.f64 z #s(literal 2 binary64)) z)
accuracy0.0
(*.f64 z #s(literal 2 binary64))
accuracy61.986662586381875
#s(approx (- x (/ (* (* y 2) z) (- (* (* z 2) z) (* y t)))) (*.f64 (*.f64 z #s(literal 2 binary64)) z))
accuracy0.0
(*.f64 z #s(literal 2 binary64))
accuracy62.00148928519434
#s(approx (- x (/ (* (* y 2) z) (- (* (* z 2) z) (* y t)))) (*.f64 z #s(literal 2 binary64)))
accuracy0.0
(*.f64 y t)
accuracy60.61033990724093
#s(approx (- (* (* z 2) z) (* y t)) (*.f64 y t))
accuracy62.16556181482013
#s(approx (- x (/ (* (* y 2) z) (- (* (* z 2) z) (* y t)))) #s(approx (- (* (* z 2) z) (* y t)) (*.f64 y t)))
Samples
26.0ms256×0valid
Compiler

Compiled 330 to 40 computations (87.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 13.0ms
ival-mult: 9.0ms (67.9% of total)
ival-div: 2.0ms (15.1% of total)
ival-sub: 2.0ms (15.1% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series13.0ms (0.8%)

Memory
-20.8MiB live, 17.5MiB allocated
Counts
11 → 67
Calls
Call 1
Inputs
#s(approx (- x (/ (* (* y 2) z) (- (* (* z 2) z) (* y t)))) #s(approx (- (* (* z 2) z) (* y t)) (*.f64 y t)))
#s(approx (- (* (* z 2) z) (* y t)) (*.f64 y t))
(*.f64 y t)
#s(approx (- x (/ (* (* y 2) z) (- (* (* z 2) z) (* y t)))) (*.f64 z #s(literal 2 binary64)))
(*.f64 z #s(literal 2 binary64))
#s(approx (- x (/ (* (* y 2) z) (- (* (* z 2) z) (* y t)))) (*.f64 (*.f64 z #s(literal 2 binary64)) z))
(*.f64 (*.f64 z #s(literal 2 binary64)) z)
#s(approx (- x (/ (* (* y 2) z) (- (* (* z 2) z) (* y t)))) (/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) #s(approx (- (* (* z 2) z) (* y t)) (*.f64 y t))))
(/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) #s(approx (- (* (* z 2) z) (* y t)) (*.f64 y t)))
(*.f64 (*.f64 y #s(literal 2 binary64)) z)
(*.f64 y #s(literal 2 binary64))
Outputs
(* -2 (/ (* y z) (- (* 2 (pow z 2)) (* t y))))
(- x (* 2 (/ (* y z) (- (* 2 (pow z 2)) (* t y)))))
x
(* x (+ 1 (* -2 (/ (* y z) (* x (- (* 2 (pow z 2)) (* t y)))))))
(* -1 (* x (- (* 2 (/ (* y z) (* x (- (* 2 (pow z 2)) (* t y))))) 1)))
(+ x (* -1 (/ y z)))
(+ x (* y (- (* -1/2 (/ (* t y) (pow z 3))) (/ 1 z))))
(+ x (* y (- (* y (- (* -1/4 (/ (* (pow t 2) y) (pow z 5))) (* 1/2 (/ t (pow z 3))))) (/ 1 z))))
(* 2 (pow z 2))
(+ (* -1 (* t y)) (* 2 (pow z 2)))
(* t y)
(/ y z)
(* y (+ (* 1/2 (/ (* t y) (pow z 3))) (/ 1 z)))
(* y (+ (* y (+ (* 1/4 (/ (* (pow t 2) y) (pow z 5))) (* 1/2 (/ t (pow z 3))))) (/ 1 z)))
(* y (+ (* y (+ (* 1/2 (/ t (pow z 3))) (* y (+ (* 1/8 (/ (* (pow t 3) y) (pow z 7))) (* 1/4 (/ (pow t 2) (pow z 5))))))) (/ 1 z)))
(* 2 (* y z))
(* 2 y)
(- x (* -2 (/ z t)))
(- (+ x (* 4 (/ (pow z 3) (* (pow t 2) y)))) (* -2 (/ z t)))
(- (+ x (* 8 (/ (pow z 5) (* (pow t 3) (pow y 2))))) (+ (* -4 (/ (pow z 3) (* (pow t 2) y))) (* -2 (/ z t))))
(- (+ x (* 16 (/ (pow z 7) (* (pow t 4) (pow y 3))))) (+ (* -8 (/ (pow z 5) (* (pow t 3) (pow y 2)))) (+ (* -4 (/ (pow z 3) (* (pow t 2) y))) (* -2 (/ z t)))))
(* -1 (* t y))
(* y (- (* 2 (/ (pow z 2) y)) t))
(* -2 (/ z t))
(+ (* -4 (/ (pow z 3) (* (pow t 2) y))) (* -2 (/ z t)))
(+ (* -8 (/ (pow z 5) (* (pow t 3) (pow y 2)))) (+ (* -4 (/ (pow z 3) (* (pow t 2) y))) (* -2 (/ z t))))
(+ (* -16 (/ (pow z 7) (* (pow t 4) (pow y 3)))) (+ (* -8 (/ (pow z 5) (* (pow t 3) (pow y 2)))) (+ (* -4 (/ (pow z 3) (* (pow t 2) y))) (* -2 (/ z t)))))
(- (+ x (* -1 (/ (- (* -8 (/ (pow z 5) (* (pow t 3) y))) (* 4 (/ (pow z 3) (pow t 2)))) y))) (* -2 (/ z t)))
(- (+ x (* -1 (/ (- (* -1 (/ (- (* 16 (/ (pow z 7) (* (pow t 4) y))) (* -8 (/ (pow z 5) (pow t 3)))) y)) (* 4 (/ (pow z 3) (pow t 2)))) y))) (* -2 (/ z t)))
(* -1 (* y (- (* -2 (/ (pow z 2) y)) (* -1 t))))
(+ (* -2 (/ z t)) (* -1 (/ (+ (* 4 (/ (pow z 3) (pow t 2))) (* 8 (/ (pow z 5) (* (pow t 3) y)))) y)))
(+ (* -2 (/ z t)) (* -1 (/ (+ (* -1 (/ (+ (* -16 (/ (pow z 7) (* (pow t 4) y))) (* -8 (/ (pow z 5) (pow t 3)))) y)) (* 4 (/ (pow z 3) (pow t 2)))) y)))
(+ x (* 2 (/ z t)))
(+ x (* z (+ (* 4 (/ (pow z 2) (* (pow t 2) y))) (* 2 (/ 1 t)))))
(+ x (* z (+ (* (pow z 2) (+ (* 8 (/ (pow z 2) (* (pow t 3) (pow y 2)))) (* 4 (/ 1 (* (pow t 2) y))))) (* 2 (/ 1 t)))))
(- (* 2 (pow z 2)) (* t y))
(* 2 z)
(* z (- (* -4 (/ (pow z 2) (* (pow t 2) y))) (* 2 (/ 1 t))))
(* z (- (* (pow z 2) (- (* -8 (/ (pow z 2) (* (pow t 3) (pow y 2)))) (* 4 (/ 1 (* (pow t 2) y))))) (* 2 (/ 1 t))))
(* z (- (* (pow z 2) (- (* (pow z 2) (- (* -16 (/ (pow z 2) (* (pow t 4) (pow y 3)))) (* 8 (/ 1 (* (pow t 3) (pow y 2)))))) (* 4 (/ 1 (* (pow t 2) y))))) (* 2 (/ 1 t))))
(- (+ x (* -1/2 (/ (* t (pow y 2)) (pow z 3)))) (/ y z))
(- (+ x (* -1/4 (/ (* (pow t 2) (pow y 3)) (pow z 5)))) (+ (* 1/2 (/ (* t (pow y 2)) (pow z 3))) (/ y z)))
(* (pow z 2) (+ 2 (* -1 (/ (* t y) (pow z 2)))))
(/ (+ y (* 1/2 (/ (* t (pow y 2)) (pow z 2)))) z)
(/ (+ y (+ (* 1/4 (/ (* (pow t 2) (pow y 3)) (pow z 4))) (* 1/2 (/ (* t (pow y 2)) (pow z 2))))) z)
(/ (+ y (+ (* 1/8 (/ (* (pow t 3) (pow y 4)) (pow z 6))) (+ (* 1/4 (/ (* (pow t 2) (pow y 3)) (pow z 4))) (* 1/2 (/ (* t (pow y 2)) (pow z 2)))))) z)
(+ x (* -1 (/ (- (* 1/2 (/ (* t (pow y 2)) (pow z 2))) (* -1 y)) z)))
(+ x (* -1 (/ (- (* 1/4 (/ (* (pow t 2) (pow y 3)) (pow z 4))) (+ (* -1 y) (* -1/2 (/ (* t (pow y 2)) (pow z 2))))) z)))
(* -1 (/ (+ (* -1 y) (* -1/2 (/ (* t (pow y 2)) (pow z 2)))) z))
(* -1 (/ (+ (* -1 y) (+ (* -1/2 (/ (* t (pow y 2)) (pow z 2))) (* -1/4 (/ (* (pow t 2) (pow y 3)) (pow z 4))))) z))
(* -1 (/ (+ (* -1 y) (+ (* -1/2 (/ (* t (pow y 2)) (pow z 2))) (+ (* -1/4 (/ (* (pow t 2) (pow y 3)) (pow z 4))) (* -1/8 (/ (* (pow t 3) (pow y 4)) (pow z 6)))))) z))
(- x (/ y z))
(- (+ x (* t (- (* -1/4 (/ (* t (pow y 3)) (pow z 5))) (* 1/2 (/ (pow y 2) (pow z 3)))))) (/ y z))
(- (+ x (* t (- (* t (- (* -1/8 (/ (* t (pow y 4)) (pow z 7))) (* 1/4 (/ (pow y 3) (pow z 5))))) (* 1/2 (/ (pow y 2) (pow z 3)))))) (/ y z))
(+ (* 1/2 (/ (* t (pow y 2)) (pow z 3))) (/ y z))
(+ (* t (+ (* 1/4 (/ (* t (pow y 3)) (pow z 5))) (* 1/2 (/ (pow y 2) (pow z 3))))) (/ y z))
(+ (* t (+ (* 1/2 (/ (pow y 2) (pow z 3))) (* t (+ (* 1/8 (/ (* t (pow y 4)) (pow z 7))) (* 1/4 (/ (pow y 3) (pow z 5))))))) (/ y z))
(* t (- (* 2 (/ (pow z 2) t)) y))
(/ (+ (* -4 (/ (pow z 3) (* t y))) (* -2 z)) t)
(/ (+ (* -8 (/ (pow z 5) (* (pow t 2) (pow y 2)))) (+ (* -4 (/ (pow z 3) (* t y))) (* -2 z))) t)
(/ (+ (* -16 (/ (pow z 7) (* (pow t 3) (pow y 3)))) (+ (* -8 (/ (pow z 5) (* (pow t 2) (pow y 2)))) (+ (* -4 (/ (pow z 3) (* t y))) (* -2 z)))) t)
(+ x (* -1 (/ (- (* -4 (/ (pow z 3) (* t y))) (* 2 z)) t)))
(+ x (* -1 (/ (- (* -1 (/ (- (* 8 (/ (pow z 5) (* t (pow y 2)))) (* -4 (/ (pow z 3) y))) t)) (* 2 z)) t)))
(* -1 (* t (- (* -2 (/ (pow z 2) t)) (* -1 y))))
(* -1 (/ (+ (* 2 z) (* 4 (/ (pow z 3) (* t y)))) t))
(* -1 (/ (+ (* -1 (/ (+ (* -8 (/ (pow z 5) (* t (pow y 2)))) (* -4 (/ (pow z 3) y))) t)) (* 2 z)) t))
(* -1 (/ (+ (* -1 (/ (+ (* -4 (/ (pow z 3) y)) (* -1 (/ (+ (* 8 (/ (pow z 5) (pow y 2))) (* 16 (/ (pow z 7) (* t (pow y 3))))) t))) t)) (* 2 z)) t))
Calls

12 calls:

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

simplify1.0ms (0.1%)

Memory
1.7MiB live, 1.7MiB allocated
Algorithm
egg-herbie
Counts
67 → 11
Calls
Call 1
Inputs
(* -2 (/ (* y z) (- (* 2 (pow z 2)) (* t y))))
(- x (* 2 (/ (* y z) (- (* 2 (pow z 2)) (* t y)))))
x
(* x (+ 1 (* -2 (/ (* y z) (* x (- (* 2 (pow z 2)) (* t y)))))))
(* -1 (* x (- (* 2 (/ (* y z) (* x (- (* 2 (pow z 2)) (* t y))))) 1)))
(+ x (* -1 (/ y z)))
(+ x (* y (- (* -1/2 (/ (* t y) (pow z 3))) (/ 1 z))))
(+ x (* y (- (* y (- (* -1/4 (/ (* (pow t 2) y) (pow z 5))) (* 1/2 (/ t (pow z 3))))) (/ 1 z))))
(* 2 (pow z 2))
(+ (* -1 (* t y)) (* 2 (pow z 2)))
(* t y)
(/ y z)
(* y (+ (* 1/2 (/ (* t y) (pow z 3))) (/ 1 z)))
(* y (+ (* y (+ (* 1/4 (/ (* (pow t 2) y) (pow z 5))) (* 1/2 (/ t (pow z 3))))) (/ 1 z)))
(* y (+ (* y (+ (* 1/2 (/ t (pow z 3))) (* y (+ (* 1/8 (/ (* (pow t 3) y) (pow z 7))) (* 1/4 (/ (pow t 2) (pow z 5))))))) (/ 1 z)))
(* 2 (* y z))
(* 2 y)
(- x (* -2 (/ z t)))
(- (+ x (* 4 (/ (pow z 3) (* (pow t 2) y)))) (* -2 (/ z t)))
(- (+ x (* 8 (/ (pow z 5) (* (pow t 3) (pow y 2))))) (+ (* -4 (/ (pow z 3) (* (pow t 2) y))) (* -2 (/ z t))))
(- (+ x (* 16 (/ (pow z 7) (* (pow t 4) (pow y 3))))) (+ (* -8 (/ (pow z 5) (* (pow t 3) (pow y 2)))) (+ (* -4 (/ (pow z 3) (* (pow t 2) y))) (* -2 (/ z t)))))
(* -1 (* t y))
(* y (- (* 2 (/ (pow z 2) y)) t))
(* -2 (/ z t))
(+ (* -4 (/ (pow z 3) (* (pow t 2) y))) (* -2 (/ z t)))
(+ (* -8 (/ (pow z 5) (* (pow t 3) (pow y 2)))) (+ (* -4 (/ (pow z 3) (* (pow t 2) y))) (* -2 (/ z t))))
(+ (* -16 (/ (pow z 7) (* (pow t 4) (pow y 3)))) (+ (* -8 (/ (pow z 5) (* (pow t 3) (pow y 2)))) (+ (* -4 (/ (pow z 3) (* (pow t 2) y))) (* -2 (/ z t)))))
(- (+ x (* -1 (/ (- (* -8 (/ (pow z 5) (* (pow t 3) y))) (* 4 (/ (pow z 3) (pow t 2)))) y))) (* -2 (/ z t)))
(- (+ x (* -1 (/ (- (* -1 (/ (- (* 16 (/ (pow z 7) (* (pow t 4) y))) (* -8 (/ (pow z 5) (pow t 3)))) y)) (* 4 (/ (pow z 3) (pow t 2)))) y))) (* -2 (/ z t)))
(* -1 (* y (- (* -2 (/ (pow z 2) y)) (* -1 t))))
(+ (* -2 (/ z t)) (* -1 (/ (+ (* 4 (/ (pow z 3) (pow t 2))) (* 8 (/ (pow z 5) (* (pow t 3) y)))) y)))
(+ (* -2 (/ z t)) (* -1 (/ (+ (* -1 (/ (+ (* -16 (/ (pow z 7) (* (pow t 4) y))) (* -8 (/ (pow z 5) (pow t 3)))) y)) (* 4 (/ (pow z 3) (pow t 2)))) y)))
(+ x (* 2 (/ z t)))
(+ x (* z (+ (* 4 (/ (pow z 2) (* (pow t 2) y))) (* 2 (/ 1 t)))))
(+ x (* z (+ (* (pow z 2) (+ (* 8 (/ (pow z 2) (* (pow t 3) (pow y 2)))) (* 4 (/ 1 (* (pow t 2) y))))) (* 2 (/ 1 t)))))
(- (* 2 (pow z 2)) (* t y))
(* 2 z)
(* z (- (* -4 (/ (pow z 2) (* (pow t 2) y))) (* 2 (/ 1 t))))
(* z (- (* (pow z 2) (- (* -8 (/ (pow z 2) (* (pow t 3) (pow y 2)))) (* 4 (/ 1 (* (pow t 2) y))))) (* 2 (/ 1 t))))
(* z (- (* (pow z 2) (- (* (pow z 2) (- (* -16 (/ (pow z 2) (* (pow t 4) (pow y 3)))) (* 8 (/ 1 (* (pow t 3) (pow y 2)))))) (* 4 (/ 1 (* (pow t 2) y))))) (* 2 (/ 1 t))))
(- (+ x (* -1/2 (/ (* t (pow y 2)) (pow z 3)))) (/ y z))
(- (+ x (* -1/4 (/ (* (pow t 2) (pow y 3)) (pow z 5)))) (+ (* 1/2 (/ (* t (pow y 2)) (pow z 3))) (/ y z)))
(* (pow z 2) (+ 2 (* -1 (/ (* t y) (pow z 2)))))
(/ (+ y (* 1/2 (/ (* t (pow y 2)) (pow z 2)))) z)
(/ (+ y (+ (* 1/4 (/ (* (pow t 2) (pow y 3)) (pow z 4))) (* 1/2 (/ (* t (pow y 2)) (pow z 2))))) z)
(/ (+ y (+ (* 1/8 (/ (* (pow t 3) (pow y 4)) (pow z 6))) (+ (* 1/4 (/ (* (pow t 2) (pow y 3)) (pow z 4))) (* 1/2 (/ (* t (pow y 2)) (pow z 2)))))) z)
(+ x (* -1 (/ (- (* 1/2 (/ (* t (pow y 2)) (pow z 2))) (* -1 y)) z)))
(+ x (* -1 (/ (- (* 1/4 (/ (* (pow t 2) (pow y 3)) (pow z 4))) (+ (* -1 y) (* -1/2 (/ (* t (pow y 2)) (pow z 2))))) z)))
(* -1 (/ (+ (* -1 y) (* -1/2 (/ (* t (pow y 2)) (pow z 2)))) z))
(* -1 (/ (+ (* -1 y) (+ (* -1/2 (/ (* t (pow y 2)) (pow z 2))) (* -1/4 (/ (* (pow t 2) (pow y 3)) (pow z 4))))) z))
(* -1 (/ (+ (* -1 y) (+ (* -1/2 (/ (* t (pow y 2)) (pow z 2))) (+ (* -1/4 (/ (* (pow t 2) (pow y 3)) (pow z 4))) (* -1/8 (/ (* (pow t 3) (pow y 4)) (pow z 6)))))) z))
(- x (/ y z))
(- (+ x (* t (- (* -1/4 (/ (* t (pow y 3)) (pow z 5))) (* 1/2 (/ (pow y 2) (pow z 3)))))) (/ y z))
(- (+ x (* t (- (* t (- (* -1/8 (/ (* t (pow y 4)) (pow z 7))) (* 1/4 (/ (pow y 3) (pow z 5))))) (* 1/2 (/ (pow y 2) (pow z 3)))))) (/ y z))
(+ (* 1/2 (/ (* t (pow y 2)) (pow z 3))) (/ y z))
(+ (* t (+ (* 1/4 (/ (* t (pow y 3)) (pow z 5))) (* 1/2 (/ (pow y 2) (pow z 3))))) (/ y z))
(+ (* t (+ (* 1/2 (/ (pow y 2) (pow z 3))) (* t (+ (* 1/8 (/ (* t (pow y 4)) (pow z 7))) (* 1/4 (/ (pow y 3) (pow z 5))))))) (/ y z))
(* t (- (* 2 (/ (pow z 2) t)) y))
(/ (+ (* -4 (/ (pow z 3) (* t y))) (* -2 z)) t)
(/ (+ (* -8 (/ (pow z 5) (* (pow t 2) (pow y 2)))) (+ (* -4 (/ (pow z 3) (* t y))) (* -2 z))) t)
(/ (+ (* -16 (/ (pow z 7) (* (pow t 3) (pow y 3)))) (+ (* -8 (/ (pow z 5) (* (pow t 2) (pow y 2)))) (+ (* -4 (/ (pow z 3) (* t y))) (* -2 z)))) t)
(+ x (* -1 (/ (- (* -4 (/ (pow z 3) (* t y))) (* 2 z)) t)))
(+ x (* -1 (/ (- (* -1 (/ (- (* 8 (/ (pow z 5) (* t (pow y 2)))) (* -4 (/ (pow z 3) y))) t)) (* 2 z)) t)))
(* -1 (* t (- (* -2 (/ (pow z 2) t)) (* -1 y))))
(* -1 (/ (+ (* 2 z) (* 4 (/ (pow z 3) (* t y)))) t))
(* -1 (/ (+ (* -1 (/ (+ (* -8 (/ (pow z 5) (* t (pow y 2)))) (* -4 (/ (pow z 3) y))) t)) (* 2 z)) t))
(* -1 (/ (+ (* -1 (/ (+ (* -4 (/ (pow z 3) y)) (* -1 (/ (+ (* 8 (/ (pow z 5) (pow y 2))) (* 16 (/ (pow z 7) (* t (pow y 3))))) t))) t)) (* 2 z)) t))
Outputs
(* -2 (/ (* y z) (- (* 2 (pow z 2)) (* t y))))
#s(approx (- x (/ (* (* y 2) z) (- (* (* z 2) z) (* y t)))) #s(approx (- (* (* z 2) z) (* y t)) (*.f64 y t)))
(- x (* 2 (/ (* y z) (- (* 2 (pow z 2)) (* t y)))))
#s(approx (- (* (* z 2) z) (* y t)) (*.f64 y t))
x
(*.f64 y t)
(* x (+ 1 (* -2 (/ (* y z) (* x (- (* 2 (pow z 2)) (* t y)))))))
#s(approx (- x (/ (* (* y 2) z) (- (* (* z 2) z) (* y t)))) (*.f64 z #s(literal 2 binary64)))
(* -1 (* x (- (* 2 (/ (* y z) (* x (- (* 2 (pow z 2)) (* t y))))) 1)))
(*.f64 z #s(literal 2 binary64))
(+ x (* -1 (/ y z)))
#s(approx (- x (/ (* (* y 2) z) (- (* (* z 2) z) (* y t)))) (*.f64 (*.f64 z #s(literal 2 binary64)) z))
(+ x (* y (- (* -1/2 (/ (* t y) (pow z 3))) (/ 1 z))))
(*.f64 (*.f64 z #s(literal 2 binary64)) z)
(+ x (* y (- (* y (- (* -1/4 (/ (* (pow t 2) y) (pow z 5))) (* 1/2 (/ t (pow z 3))))) (/ 1 z))))
#s(approx (- x (/ (* (* y 2) z) (- (* (* z 2) z) (* y t)))) (/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) #s(approx (- (* (* z 2) z) (* y t)) (*.f64 y t))))
(* 2 (pow z 2))
(/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) #s(approx (- (* (* z 2) z) (* y t)) (*.f64 y t)))
(+ (* -1 (* t y)) (* 2 (pow z 2)))
(*.f64 (*.f64 y #s(literal 2 binary64)) z)
(* t y)
(*.f64 y #s(literal 2 binary64))

rewrite1.0ms (0%)

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

eval2.0ms (0.1%)

Memory
4.5MiB live, 4.5MiB allocated
Compiler

Compiled 879 to 43 computations (95.1% saved)

prune6.0ms (0.3%)

Memory
9.1MiB live, 9.1MiB allocated
Pruning

11 alts after pruning (2 fresh and 9 done)

PrunedKeptTotal
New23225
Fresh000
Picked044
Done055
Total231134
Accuracy
85.0%
Counts
34 → 11
Alt Table
Click to see full alt table
StatusAccuracyProgram
84.4%
(-.f64 x (/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) (-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y t))))
2.9%
#s(approx (- x (/ (* (* y 2) z) (- (* (* z 2) z) (* y t)))) (/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) (-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y t))))
2.8%
#s(approx (- x (/ (* (* y 2) z) (- (* (* z 2) z) (* y t)))) (/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) #s(approx (- (* (* z 2) z) (* y t)) (*.f64 (*.f64 y #s(literal 2 binary64)) z))))
11.2%
#s(approx (- x (/ (* (* y 2) z) (- (* (* z 2) z) (* y t)))) (/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) #s(approx (- (* (* z 2) z) (* y t)) (*.f64 y t))))
3.0%
#s(approx (- x (/ (* (* y 2) z) (- (* (* z 2) z) (* y t)))) (/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) #s(approx (- (* (* z 2) z) (* y t)) #s(approx (* y t) (*.f64 y #s(literal 2 binary64))))))
2.8%
#s(approx (- x (/ (* (* y 2) z) (- (* (* z 2) z) (* y t)))) (-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y t)))
3.1%
#s(approx (- x (/ (* (* y 2) z) (- (* (* z 2) z) (* y t)))) (*.f64 (*.f64 z #s(literal 2 binary64)) z))
3.1%
#s(approx (- x (/ (* (* y 2) z) (- (* (* z 2) z) (* y t)))) (*.f64 (*.f64 y #s(literal 2 binary64)) z))
3.1%
#s(approx (- x (/ (* (* y 2) z) (- (* (* z 2) z) (* y t)))) (*.f64 z #s(literal 2 binary64)))
3.3%
#s(approx (- x (/ (* (* y 2) z) (- (* (* z 2) z) (* y t)))) (*.f64 y #s(literal 2 binary64)))
3.0%
#s(approx (- x (/ (* (* y 2) z) (- (* (* z 2) z) (* y t)))) #s(approx (- (* (* z 2) z) (* y t)) (*.f64 y t)))
Compiler

Compiled 313 to 195 computations (37.7% saved)

simplify1.0ms (0%)

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

Found 8 expressions of interest:

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

localize36.0ms (2.1%)

Memory
7.7MiB live, 44.3MiB allocated
Localize:

Found 8 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 y #s(literal 2 binary64))
accuracy20.390994811426406
(/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) #s(approx (- (* (* z 2) z) (* y t)) (*.f64 (*.f64 y #s(literal 2 binary64)) z)))
accuracy57.644020768386426
#s(approx (- (* (* z 2) z) (* y t)) (*.f64 (*.f64 y #s(literal 2 binary64)) z))
accuracy61.948746892713125
#s(approx (- x (/ (* (* y 2) z) (- (* (* z 2) z) (* y t)))) (/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) #s(approx (- (* (* z 2) z) (* y t)) (*.f64 (*.f64 y #s(literal 2 binary64)) z))))
accuracy20.390994811426406
(/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) #s(approx (- (* (* z 2) z) (* y t)) #s(approx (* y t) (*.f64 y #s(literal 2 binary64)))))
accuracy60.61033990724093
#s(approx (- (* (* z 2) z) (* y t)) #s(approx (* y t) (*.f64 y #s(literal 2 binary64))))
accuracy61.47149992852961
#s(approx (* y t) (*.f64 y #s(literal 2 binary64)))
accuracy61.948746892713125
#s(approx (- x (/ (* (* y 2) z) (- (* (* z 2) z) (* y t)))) (/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) #s(approx (- (* (* z 2) z) (* y t)) #s(approx (* y t) (*.f64 y #s(literal 2 binary64))))))
Samples
26.0ms256×0valid
Compiler

Compiled 294 to 38 computations (87.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 16.0ms
ival-mult: 11.0ms (69.9% of total)
ival-div: 2.0ms (12.7% of total)
ival-sub: 2.0ms (12.7% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series14.0ms (0.9%)

Memory
-25.8MiB live, 15.0MiB allocated
Counts
9 → 66
Calls
Call 1
Inputs
#s(approx (- x (/ (* (* y 2) z) (- (* (* z 2) z) (* y t)))) (/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) #s(approx (- (* (* z 2) z) (* y t)) #s(approx (* y t) (*.f64 y #s(literal 2 binary64))))))
(/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) #s(approx (- (* (* z 2) z) (* y t)) #s(approx (* y t) (*.f64 y #s(literal 2 binary64)))))
(*.f64 (*.f64 y #s(literal 2 binary64)) z)
(*.f64 y #s(literal 2 binary64))
#s(approx (- x (/ (* (* y 2) z) (- (* (* z 2) z) (* y t)))) (/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) #s(approx (- (* (* z 2) z) (* y t)) (*.f64 (*.f64 y #s(literal 2 binary64)) z))))
(/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) #s(approx (- (* (* z 2) z) (* y t)) (*.f64 (*.f64 y #s(literal 2 binary64)) z)))
#s(approx (* y t) (*.f64 y #s(literal 2 binary64)))
#s(approx (- (* (* z 2) z) (* y t)) #s(approx (* y t) (*.f64 y #s(literal 2 binary64))))
#s(approx (- (* (* z 2) z) (* y t)) (*.f64 (*.f64 y #s(literal 2 binary64)) z))
Outputs
(* -2 (/ (* y z) (- (* 2 (pow z 2)) (* t y))))
(- x (* 2 (/ (* y z) (- (* 2 (pow z 2)) (* t y)))))
x
(* x (+ 1 (* -2 (/ (* y z) (* x (- (* 2 (pow z 2)) (* t y)))))))
(* -1 (* x (- (* 2 (/ (* y z) (* x (- (* 2 (pow z 2)) (* t y))))) 1)))
(+ x (* -1 (/ y z)))
(+ x (* y (- (* -1/2 (/ (* t y) (pow z 3))) (/ 1 z))))
(+ x (* y (- (* y (- (* -1/4 (/ (* (pow t 2) y) (pow z 5))) (* 1/2 (/ t (pow z 3))))) (/ 1 z))))
(/ y z)
(* y (+ (* 1/2 (/ (* t y) (pow z 3))) (/ 1 z)))
(* y (+ (* y (+ (* 1/4 (/ (* (pow t 2) y) (pow z 5))) (* 1/2 (/ t (pow z 3))))) (/ 1 z)))
(* y (+ (* y (+ (* 1/2 (/ t (pow z 3))) (* y (+ (* 1/8 (/ (* (pow t 3) y) (pow z 7))) (* 1/4 (/ (pow t 2) (pow z 5))))))) (/ 1 z)))
(* 2 (* y z))
(* 2 y)
(* t y)
(* 2 (pow z 2))
(+ (* -1 (* t y)) (* 2 (pow z 2)))
(- x (* -2 (/ z t)))
(- (+ x (* 4 (/ (pow z 3) (* (pow t 2) y)))) (* -2 (/ z t)))
(- (+ x (* 8 (/ (pow z 5) (* (pow t 3) (pow y 2))))) (+ (* -4 (/ (pow z 3) (* (pow t 2) y))) (* -2 (/ z t))))
(- (+ x (* 16 (/ (pow z 7) (* (pow t 4) (pow y 3))))) (+ (* -8 (/ (pow z 5) (* (pow t 3) (pow y 2)))) (+ (* -4 (/ (pow z 3) (* (pow t 2) y))) (* -2 (/ z t)))))
(* -2 (/ z t))
(+ (* -4 (/ (pow z 3) (* (pow t 2) y))) (* -2 (/ z t)))
(+ (* -8 (/ (pow z 5) (* (pow t 3) (pow y 2)))) (+ (* -4 (/ (pow z 3) (* (pow t 2) y))) (* -2 (/ z t))))
(+ (* -16 (/ (pow z 7) (* (pow t 4) (pow y 3)))) (+ (* -8 (/ (pow z 5) (* (pow t 3) (pow y 2)))) (+ (* -4 (/ (pow z 3) (* (pow t 2) y))) (* -2 (/ z t)))))
(* -1 (* t y))
(* y (- (* 2 (/ (pow z 2) y)) t))
(- (+ x (* -1 (/ (- (* -8 (/ (pow z 5) (* (pow t 3) y))) (* 4 (/ (pow z 3) (pow t 2)))) y))) (* -2 (/ z t)))
(- (+ x (* -1 (/ (- (* -1 (/ (- (* 16 (/ (pow z 7) (* (pow t 4) y))) (* -8 (/ (pow z 5) (pow t 3)))) y)) (* 4 (/ (pow z 3) (pow t 2)))) y))) (* -2 (/ z t)))
(+ (* -2 (/ z t)) (* -1 (/ (+ (* 4 (/ (pow z 3) (pow t 2))) (* 8 (/ (pow z 5) (* (pow t 3) y)))) y)))
(+ (* -2 (/ z t)) (* -1 (/ (+ (* -1 (/ (+ (* -16 (/ (pow z 7) (* (pow t 4) y))) (* -8 (/ (pow z 5) (pow t 3)))) y)) (* 4 (/ (pow z 3) (pow t 2)))) y)))
(* -1 (* y (- (* -2 (/ (pow z 2) y)) (* -1 t))))
(+ x (* 2 (/ z t)))
(+ x (* z (+ (* 4 (/ (pow z 2) (* (pow t 2) y))) (* 2 (/ 1 t)))))
(+ x (* z (+ (* (pow z 2) (+ (* 8 (/ (pow z 2) (* (pow t 3) (pow y 2)))) (* 4 (/ 1 (* (pow t 2) y))))) (* 2 (/ 1 t)))))
(* z (- (* -4 (/ (pow z 2) (* (pow t 2) y))) (* 2 (/ 1 t))))
(* z (- (* (pow z 2) (- (* -8 (/ (pow z 2) (* (pow t 3) (pow y 2)))) (* 4 (/ 1 (* (pow t 2) y))))) (* 2 (/ 1 t))))
(* z (- (* (pow z 2) (- (* (pow z 2) (- (* -16 (/ (pow z 2) (* (pow t 4) (pow y 3)))) (* 8 (/ 1 (* (pow t 3) (pow y 2)))))) (* 4 (/ 1 (* (pow t 2) y))))) (* 2 (/ 1 t))))
(- (* 2 (pow z 2)) (* t y))
(- (+ x (* -1/2 (/ (* t (pow y 2)) (pow z 3)))) (/ y z))
(- (+ x (* -1/4 (/ (* (pow t 2) (pow y 3)) (pow z 5)))) (+ (* 1/2 (/ (* t (pow y 2)) (pow z 3))) (/ y z)))
(/ (+ y (* 1/2 (/ (* t (pow y 2)) (pow z 2)))) z)
(/ (+ y (+ (* 1/4 (/ (* (pow t 2) (pow y 3)) (pow z 4))) (* 1/2 (/ (* t (pow y 2)) (pow z 2))))) z)
(/ (+ y (+ (* 1/8 (/ (* (pow t 3) (pow y 4)) (pow z 6))) (+ (* 1/4 (/ (* (pow t 2) (pow y 3)) (pow z 4))) (* 1/2 (/ (* t (pow y 2)) (pow z 2)))))) z)
(* (pow z 2) (+ 2 (* -1 (/ (* t y) (pow z 2)))))
(+ x (* -1 (/ (- (* 1/2 (/ (* t (pow y 2)) (pow z 2))) (* -1 y)) z)))
(+ x (* -1 (/ (- (* 1/4 (/ (* (pow t 2) (pow y 3)) (pow z 4))) (+ (* -1 y) (* -1/2 (/ (* t (pow y 2)) (pow z 2))))) z)))
(* -1 (/ (+ (* -1 y) (* -1/2 (/ (* t (pow y 2)) (pow z 2)))) z))
(* -1 (/ (+ (* -1 y) (+ (* -1/2 (/ (* t (pow y 2)) (pow z 2))) (* -1/4 (/ (* (pow t 2) (pow y 3)) (pow z 4))))) z))
(* -1 (/ (+ (* -1 y) (+ (* -1/2 (/ (* t (pow y 2)) (pow z 2))) (+ (* -1/4 (/ (* (pow t 2) (pow y 3)) (pow z 4))) (* -1/8 (/ (* (pow t 3) (pow y 4)) (pow z 6)))))) z))
(- x (/ y z))
(- (+ x (* t (- (* -1/4 (/ (* t (pow y 3)) (pow z 5))) (* 1/2 (/ (pow y 2) (pow z 3)))))) (/ y z))
(- (+ x (* t (- (* t (- (* -1/8 (/ (* t (pow y 4)) (pow z 7))) (* 1/4 (/ (pow y 3) (pow z 5))))) (* 1/2 (/ (pow y 2) (pow z 3)))))) (/ y z))
(+ (* 1/2 (/ (* t (pow y 2)) (pow z 3))) (/ y z))
(+ (* t (+ (* 1/4 (/ (* t (pow y 3)) (pow z 5))) (* 1/2 (/ (pow y 2) (pow z 3))))) (/ y z))
(+ (* t (+ (* 1/2 (/ (pow y 2) (pow z 3))) (* t (+ (* 1/8 (/ (* t (pow y 4)) (pow z 7))) (* 1/4 (/ (pow y 3) (pow z 5))))))) (/ y z))
(/ (+ (* -4 (/ (pow z 3) (* t y))) (* -2 z)) t)
(/ (+ (* -8 (/ (pow z 5) (* (pow t 2) (pow y 2)))) (+ (* -4 (/ (pow z 3) (* t y))) (* -2 z))) t)
(/ (+ (* -16 (/ (pow z 7) (* (pow t 3) (pow y 3)))) (+ (* -8 (/ (pow z 5) (* (pow t 2) (pow y 2)))) (+ (* -4 (/ (pow z 3) (* t y))) (* -2 z)))) t)
(* t (- (* 2 (/ (pow z 2) t)) y))
(+ x (* -1 (/ (- (* -4 (/ (pow z 3) (* t y))) (* 2 z)) t)))
(+ x (* -1 (/ (- (* -1 (/ (- (* 8 (/ (pow z 5) (* t (pow y 2)))) (* -4 (/ (pow z 3) y))) t)) (* 2 z)) t)))
(* -1 (/ (+ (* 2 z) (* 4 (/ (pow z 3) (* t y)))) t))
(* -1 (/ (+ (* -1 (/ (+ (* -8 (/ (pow z 5) (* t (pow y 2)))) (* -4 (/ (pow z 3) y))) t)) (* 2 z)) t))
(* -1 (/ (+ (* -1 (/ (+ (* -4 (/ (pow z 3) y)) (* -1 (/ (+ (* 8 (/ (pow z 5) (pow y 2))) (* 16 (/ (pow z 7) (* t (pow y 3))))) t))) t)) (* 2 z)) t))
(* -1 (* t (- (* -2 (/ (pow z 2) t)) (* -1 y))))
Calls

12 calls:

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

simplify1.0ms (0.1%)

Memory
1.8MiB live, 1.8MiB allocated
Algorithm
egg-herbie
Counts
66 → 9
Calls
Call 1
Inputs
(* -2 (/ (* y z) (- (* 2 (pow z 2)) (* t y))))
(- x (* 2 (/ (* y z) (- (* 2 (pow z 2)) (* t y)))))
x
(* x (+ 1 (* -2 (/ (* y z) (* x (- (* 2 (pow z 2)) (* t y)))))))
(* -1 (* x (- (* 2 (/ (* y z) (* x (- (* 2 (pow z 2)) (* t y))))) 1)))
(+ x (* -1 (/ y z)))
(+ x (* y (- (* -1/2 (/ (* t y) (pow z 3))) (/ 1 z))))
(+ x (* y (- (* y (- (* -1/4 (/ (* (pow t 2) y) (pow z 5))) (* 1/2 (/ t (pow z 3))))) (/ 1 z))))
(/ y z)
(* y (+ (* 1/2 (/ (* t y) (pow z 3))) (/ 1 z)))
(* y (+ (* y (+ (* 1/4 (/ (* (pow t 2) y) (pow z 5))) (* 1/2 (/ t (pow z 3))))) (/ 1 z)))
(* y (+ (* y (+ (* 1/2 (/ t (pow z 3))) (* y (+ (* 1/8 (/ (* (pow t 3) y) (pow z 7))) (* 1/4 (/ (pow t 2) (pow z 5))))))) (/ 1 z)))
(* 2 (* y z))
(* 2 y)
(* t y)
(* 2 (pow z 2))
(+ (* -1 (* t y)) (* 2 (pow z 2)))
(- x (* -2 (/ z t)))
(- (+ x (* 4 (/ (pow z 3) (* (pow t 2) y)))) (* -2 (/ z t)))
(- (+ x (* 8 (/ (pow z 5) (* (pow t 3) (pow y 2))))) (+ (* -4 (/ (pow z 3) (* (pow t 2) y))) (* -2 (/ z t))))
(- (+ x (* 16 (/ (pow z 7) (* (pow t 4) (pow y 3))))) (+ (* -8 (/ (pow z 5) (* (pow t 3) (pow y 2)))) (+ (* -4 (/ (pow z 3) (* (pow t 2) y))) (* -2 (/ z t)))))
(* -2 (/ z t))
(+ (* -4 (/ (pow z 3) (* (pow t 2) y))) (* -2 (/ z t)))
(+ (* -8 (/ (pow z 5) (* (pow t 3) (pow y 2)))) (+ (* -4 (/ (pow z 3) (* (pow t 2) y))) (* -2 (/ z t))))
(+ (* -16 (/ (pow z 7) (* (pow t 4) (pow y 3)))) (+ (* -8 (/ (pow z 5) (* (pow t 3) (pow y 2)))) (+ (* -4 (/ (pow z 3) (* (pow t 2) y))) (* -2 (/ z t)))))
(* -1 (* t y))
(* y (- (* 2 (/ (pow z 2) y)) t))
(- (+ x (* -1 (/ (- (* -8 (/ (pow z 5) (* (pow t 3) y))) (* 4 (/ (pow z 3) (pow t 2)))) y))) (* -2 (/ z t)))
(- (+ x (* -1 (/ (- (* -1 (/ (- (* 16 (/ (pow z 7) (* (pow t 4) y))) (* -8 (/ (pow z 5) (pow t 3)))) y)) (* 4 (/ (pow z 3) (pow t 2)))) y))) (* -2 (/ z t)))
(+ (* -2 (/ z t)) (* -1 (/ (+ (* 4 (/ (pow z 3) (pow t 2))) (* 8 (/ (pow z 5) (* (pow t 3) y)))) y)))
(+ (* -2 (/ z t)) (* -1 (/ (+ (* -1 (/ (+ (* -16 (/ (pow z 7) (* (pow t 4) y))) (* -8 (/ (pow z 5) (pow t 3)))) y)) (* 4 (/ (pow z 3) (pow t 2)))) y)))
(* -1 (* y (- (* -2 (/ (pow z 2) y)) (* -1 t))))
(+ x (* 2 (/ z t)))
(+ x (* z (+ (* 4 (/ (pow z 2) (* (pow t 2) y))) (* 2 (/ 1 t)))))
(+ x (* z (+ (* (pow z 2) (+ (* 8 (/ (pow z 2) (* (pow t 3) (pow y 2)))) (* 4 (/ 1 (* (pow t 2) y))))) (* 2 (/ 1 t)))))
(* z (- (* -4 (/ (pow z 2) (* (pow t 2) y))) (* 2 (/ 1 t))))
(* z (- (* (pow z 2) (- (* -8 (/ (pow z 2) (* (pow t 3) (pow y 2)))) (* 4 (/ 1 (* (pow t 2) y))))) (* 2 (/ 1 t))))
(* z (- (* (pow z 2) (- (* (pow z 2) (- (* -16 (/ (pow z 2) (* (pow t 4) (pow y 3)))) (* 8 (/ 1 (* (pow t 3) (pow y 2)))))) (* 4 (/ 1 (* (pow t 2) y))))) (* 2 (/ 1 t))))
(- (* 2 (pow z 2)) (* t y))
(- (+ x (* -1/2 (/ (* t (pow y 2)) (pow z 3)))) (/ y z))
(- (+ x (* -1/4 (/ (* (pow t 2) (pow y 3)) (pow z 5)))) (+ (* 1/2 (/ (* t (pow y 2)) (pow z 3))) (/ y z)))
(/ (+ y (* 1/2 (/ (* t (pow y 2)) (pow z 2)))) z)
(/ (+ y (+ (* 1/4 (/ (* (pow t 2) (pow y 3)) (pow z 4))) (* 1/2 (/ (* t (pow y 2)) (pow z 2))))) z)
(/ (+ y (+ (* 1/8 (/ (* (pow t 3) (pow y 4)) (pow z 6))) (+ (* 1/4 (/ (* (pow t 2) (pow y 3)) (pow z 4))) (* 1/2 (/ (* t (pow y 2)) (pow z 2)))))) z)
(* (pow z 2) (+ 2 (* -1 (/ (* t y) (pow z 2)))))
(+ x (* -1 (/ (- (* 1/2 (/ (* t (pow y 2)) (pow z 2))) (* -1 y)) z)))
(+ x (* -1 (/ (- (* 1/4 (/ (* (pow t 2) (pow y 3)) (pow z 4))) (+ (* -1 y) (* -1/2 (/ (* t (pow y 2)) (pow z 2))))) z)))
(* -1 (/ (+ (* -1 y) (* -1/2 (/ (* t (pow y 2)) (pow z 2)))) z))
(* -1 (/ (+ (* -1 y) (+ (* -1/2 (/ (* t (pow y 2)) (pow z 2))) (* -1/4 (/ (* (pow t 2) (pow y 3)) (pow z 4))))) z))
(* -1 (/ (+ (* -1 y) (+ (* -1/2 (/ (* t (pow y 2)) (pow z 2))) (+ (* -1/4 (/ (* (pow t 2) (pow y 3)) (pow z 4))) (* -1/8 (/ (* (pow t 3) (pow y 4)) (pow z 6)))))) z))
(- x (/ y z))
(- (+ x (* t (- (* -1/4 (/ (* t (pow y 3)) (pow z 5))) (* 1/2 (/ (pow y 2) (pow z 3)))))) (/ y z))
(- (+ x (* t (- (* t (- (* -1/8 (/ (* t (pow y 4)) (pow z 7))) (* 1/4 (/ (pow y 3) (pow z 5))))) (* 1/2 (/ (pow y 2) (pow z 3)))))) (/ y z))
(+ (* 1/2 (/ (* t (pow y 2)) (pow z 3))) (/ y z))
(+ (* t (+ (* 1/4 (/ (* t (pow y 3)) (pow z 5))) (* 1/2 (/ (pow y 2) (pow z 3))))) (/ y z))
(+ (* t (+ (* 1/2 (/ (pow y 2) (pow z 3))) (* t (+ (* 1/8 (/ (* t (pow y 4)) (pow z 7))) (* 1/4 (/ (pow y 3) (pow z 5))))))) (/ y z))
(/ (+ (* -4 (/ (pow z 3) (* t y))) (* -2 z)) t)
(/ (+ (* -8 (/ (pow z 5) (* (pow t 2) (pow y 2)))) (+ (* -4 (/ (pow z 3) (* t y))) (* -2 z))) t)
(/ (+ (* -16 (/ (pow z 7) (* (pow t 3) (pow y 3)))) (+ (* -8 (/ (pow z 5) (* (pow t 2) (pow y 2)))) (+ (* -4 (/ (pow z 3) (* t y))) (* -2 z)))) t)
(* t (- (* 2 (/ (pow z 2) t)) y))
(+ x (* -1 (/ (- (* -4 (/ (pow z 3) (* t y))) (* 2 z)) t)))
(+ x (* -1 (/ (- (* -1 (/ (- (* 8 (/ (pow z 5) (* t (pow y 2)))) (* -4 (/ (pow z 3) y))) t)) (* 2 z)) t)))
(* -1 (/ (+ (* 2 z) (* 4 (/ (pow z 3) (* t y)))) t))
(* -1 (/ (+ (* -1 (/ (+ (* -8 (/ (pow z 5) (* t (pow y 2)))) (* -4 (/ (pow z 3) y))) t)) (* 2 z)) t))
(* -1 (/ (+ (* -1 (/ (+ (* -4 (/ (pow z 3) y)) (* -1 (/ (+ (* 8 (/ (pow z 5) (pow y 2))) (* 16 (/ (pow z 7) (* t (pow y 3))))) t))) t)) (* 2 z)) t))
(* -1 (* t (- (* -2 (/ (pow z 2) t)) (* -1 y))))
Outputs
(* -2 (/ (* y z) (- (* 2 (pow z 2)) (* t y))))
#s(approx (- x (/ (* (* y 2) z) (- (* (* z 2) z) (* y t)))) (/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) #s(approx (- (* (* z 2) z) (* y t)) #s(approx (* y t) (*.f64 y #s(literal 2 binary64))))))
(- x (* 2 (/ (* y z) (- (* 2 (pow z 2)) (* t y)))))
(/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) #s(approx (- (* (* z 2) z) (* y t)) #s(approx (* y t) (*.f64 y #s(literal 2 binary64)))))
x
(*.f64 (*.f64 y #s(literal 2 binary64)) z)
(* x (+ 1 (* -2 (/ (* y z) (* x (- (* 2 (pow z 2)) (* t y)))))))
(*.f64 y #s(literal 2 binary64))
(* -1 (* x (- (* 2 (/ (* y z) (* x (- (* 2 (pow z 2)) (* t y))))) 1)))
#s(approx (- x (/ (* (* y 2) z) (- (* (* z 2) z) (* y t)))) (/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) #s(approx (- (* (* z 2) z) (* y t)) (*.f64 (*.f64 y #s(literal 2 binary64)) z))))
(+ x (* -1 (/ y z)))
(/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) #s(approx (- (* (* z 2) z) (* y t)) (*.f64 (*.f64 y #s(literal 2 binary64)) z)))
(+ x (* y (- (* -1/2 (/ (* t y) (pow z 3))) (/ 1 z))))
#s(approx (* y t) (*.f64 y #s(literal 2 binary64)))
(+ x (* y (- (* y (- (* -1/4 (/ (* (pow t 2) y) (pow z 5))) (* 1/2 (/ t (pow z 3))))) (/ 1 z))))
#s(approx (- (* (* z 2) z) (* y t)) #s(approx (* y t) (*.f64 y #s(literal 2 binary64))))
(/ y z)
#s(approx (- (* (* z 2) z) (* y t)) (*.f64 (*.f64 y #s(literal 2 binary64)) z))

rewrite1.0ms (0%)

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

eval2.0ms (0.1%)

Memory
3.7MiB live, 3.7MiB allocated
Compiler

Compiled 829 to 31 computations (96.3% saved)

prune6.0ms (0.4%)

Memory
10.2MiB live, 10.2MiB allocated
Pruning

11 alts after pruning (0 fresh and 11 done)

PrunedKeptTotal
New21021
Fresh000
Picked022
Done099
Total211132
Accuracy
85.0%
Counts
32 → 11
Alt Table
Click to see full alt table
StatusAccuracyProgram
84.4%
(-.f64 x (/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) (-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y t))))
2.9%
#s(approx (- x (/ (* (* y 2) z) (- (* (* z 2) z) (* y t)))) (/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) (-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y t))))
2.8%
#s(approx (- x (/ (* (* y 2) z) (- (* (* z 2) z) (* y t)))) (/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) #s(approx (- (* (* z 2) z) (* y t)) (*.f64 (*.f64 y #s(literal 2 binary64)) z))))
11.2%
#s(approx (- x (/ (* (* y 2) z) (- (* (* z 2) z) (* y t)))) (/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) #s(approx (- (* (* z 2) z) (* y t)) (*.f64 y t))))
3.0%
#s(approx (- x (/ (* (* y 2) z) (- (* (* z 2) z) (* y t)))) (/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) #s(approx (- (* (* z 2) z) (* y t)) #s(approx (* y t) (*.f64 y #s(literal 2 binary64))))))
2.8%
#s(approx (- x (/ (* (* y 2) z) (- (* (* z 2) z) (* y t)))) (-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y t)))
3.1%
#s(approx (- x (/ (* (* y 2) z) (- (* (* z 2) z) (* y t)))) (*.f64 (*.f64 z #s(literal 2 binary64)) z))
3.1%
#s(approx (- x (/ (* (* y 2) z) (- (* (* z 2) z) (* y t)))) (*.f64 (*.f64 y #s(literal 2 binary64)) z))
3.1%
#s(approx (- x (/ (* (* y 2) z) (- (* (* z 2) z) (* y t)))) (*.f64 z #s(literal 2 binary64)))
3.3%
#s(approx (- x (/ (* (* y 2) z) (- (* (* z 2) z) (* y t)))) (*.f64 y #s(literal 2 binary64)))
3.0%
#s(approx (- x (/ (* (* y 2) z) (- (* (* z 2) z) (* y t)))) #s(approx (- (* (* z 2) z) (* y t)) (*.f64 y t)))
Compiler

Compiled 626 to 234 computations (62.6% saved)

regimes27.0ms (1.6%)

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

6 calls:

6.0ms
t
4.0ms
z
4.0ms
y
4.0ms
(-.f64 x (/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) (-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y t))))
4.0ms
x
Results
AccuracySegmentsBranch
84.4%1x
84.4%1y
84.4%1z
84.4%1t
84.4%1(-.f64 x (/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) (-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y t))))
84.4%1(/.f64 (*.f64 (*.f64 y #s(literal 2 binary64)) z) (-.f64 (*.f64 (*.f64 z #s(literal 2 binary64)) z) (*.f64 y t)))
Compiler

Compiled 36 to 41 computations (-13.9% saved)

regimes24.0ms (1.4%)

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

6 calls:

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

Compiled 36 to 41 computations (-13.9% saved)

regimes17.0ms (1%)

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

6 calls:

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

Compiled 36 to 41 computations (-13.9% saved)

regimes9.0ms (0.6%)

Memory
-26.2MiB live, 16.2MiB allocated
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

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

6 calls:

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

Compiled 36 to 41 computations (-13.9% saved)

simplify5.0ms (0.3%)

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

soundness1.0ms (0%)

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

Compiled 106 to 27 computations (74.5% saved)

preprocess31.0ms (1.9%)

Memory
14.1MiB live, 52.3MiB allocated
Compiler

Compiled 272 to 104 computations (61.8% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...