Numeric.SpecFunctions:invErfc from math-functions-0.1.5.2, A

Time bar (total: 1.5s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated

analyze97.0ms (6.5%)

Memory
30.7MiB live, 145.9MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
0%0%99.9%0.1%0%0%0%3
25%25%74.9%0.1%0%0%0%4
31.3%31.2%68.6%0.1%0%0%0%5
43.8%43.7%56.2%0.1%0%0%0%6
53.1%53%46.8%0.1%0%0%0%7
59.4%59.3%40.6%0.1%0%0%0%8
68%67.9%32%0.1%0%0%0%9
73.6%73.5%26.3%0.1%0%0%0%10
78.2%78.1%21.7%0.1%0%0%0%11
83.3%83.1%16.7%0.1%0%0%0%12
Compiler

Compiled 14 to 12 computations (14.3% saved)

sample1.0s (67.5%)

Memory
11.0MiB live, 1 340.4MiB allocated
Samples
693.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 459.0ms
const: 130.0ms (28.3% of total)
ival-mult: 105.0ms (22.9% of total)
ival-exp: 80.0ms (17.4% of total)
ival-div: 58.0ms (12.6% of total)
ival-add: 42.0ms (9.1% of total)
ival-sub: 35.0ms (7.6% of total)
ival-true: 6.0ms (1.3% of total)
ival-assert: 3.0ms (0.7% of total)
Bogosity

explain133.0ms (8.9%)

Memory
-4.0MiB live, 278.7MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
290-0-(/.f64 y (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y)))
30-0-(-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))
00-0-#s(literal 5641895835477563/5000000000000000 binary64)
00-0-(*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z))
00-0-z
00-0-(*.f64 x y)
00-0-(+.f64 x (/.f64 y (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))))
00-0-y
00-0-x
00-0-(exp.f64 z)
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
/.f64(/.f64 y (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y)))n/u60
(exp.f64 z)underflow64
(*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z))underflow64
(-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))underflow6
(*.f64 x y)underflow27
-.f64(-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))nan-rescue30
(exp.f64 z)overflow69
(*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z))overflow69
(*.f64 x y)overflow36
Confusion
Predicted +Predicted -
+90
-0247
Precision
1.0
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+900
-00247
Precision?
1.0
Recall?
1.0
Freqs
test
numberfreq
0247
19
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
46.0ms512×0valid
Compiler

Compiled 145 to 44 computations (69.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 29.0ms
const: 8.0ms (27.6% of total)
ival-mult: 6.0ms (20.7% of total)
ival-exp: 4.0ms (13.8% of total)
ival-div: 3.0ms (10.3% of total)
ival-sub: 2.0ms (6.9% of total)
ival-true: 2.0ms (6.9% of total)
ival-add: 2.0ms (6.9% of total)
ival-assert: 0.0ms (0% of total)

preprocess3.0ms (0.2%)

Memory
8.4MiB live, 8.4MiB allocated
Algorithm
egg-herbie
Calls
Call 1
Inputs
(+.f64 x (/.f64 y (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))))
Outputs
(+.f64 x (/.f64 y (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))))
Compiler

Compiled 12 to 10 computations (16.7% saved)

eval0.0ms (0%)

Memory
0.2MiB live, 0.2MiB allocated
Compiler

Compiled 0 to 3 computations (-∞% saved)

prune0.0ms (0%)

Memory
1.1MiB live, 1.1MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
96.6%
(+.f64 x (/.f64 y (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))))
Compiler

Compiled 12 to 10 computations (16.7% saved)

simplify0.0ms (0%)

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

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z))
cost-diff0
(-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))
cost-diff0
(/.f64 y (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y)))
cost-diff0
(+.f64 x (/.f64 y (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))))
Calls
Call 1
Inputs
(+.f64 x (/.f64 y (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))))
x
(/.f64 y (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y)))
y
(-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))
(*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z))
#s(literal 5641895835477563/5000000000000000 binary64)
(exp.f64 z)
z
(*.f64 x y)
Outputs
(+.f64 x (/.f64 y (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))))
x
(/.f64 y (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y)))
y
(-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))
(*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z))
#s(literal 5641895835477563/5000000000000000 binary64)
(exp.f64 z)
z
(*.f64 x y)

localize31.0ms (2.1%)

Memory
-6.0MiB live, 71.1MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.00390625
(*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z))
accuracy0.0078125
(+.f64 x (/.f64 y (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))))
accuracy0.6054687500000001
(-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))
accuracy6.883392626778185
(/.f64 y (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y)))
Samples
23.0ms256×0valid
Compiler

Compiled 88 to 22 computations (75% saved)

Precisions
Click to see histograms. Total time spent on operations: 13.0ms
const: 4.0ms (31.3% of total)
ival-mult: 3.0ms (23.5% of total)
ival-div: 2.0ms (15.6% of total)
ival-exp: 2.0ms (15.6% of total)
ival-sub: 1.0ms (7.8% of total)
ival-add: 1.0ms (7.8% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series13.0ms (0.8%)

Memory
26.5MiB live, 26.5MiB allocated
Counts
4 → 64
Calls
Call 1
Inputs
(+.f64 x (/.f64 y (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))))
(/.f64 y (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y)))
(-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))
(*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z))
Outputs
(* 5000000000000000/5641895835477563 (/ y (exp z)))
(+ (* 5000000000000000/5641895835477563 (/ y (exp z))) (* x (- 1 (* -25000000000000000000000000000000/31830988618379068626528276418969 (/ (pow y 2) (pow (exp z) 2))))))
(+ (* 5000000000000000/5641895835477563 (/ y (exp z))) (* x (- (+ 1 (* 125000000000000000000000000000000000000000000000/179587122125166574152748016388400639365587092547 (/ (* x (pow y 3)) (pow (exp z) 3)))) (* -25000000000000000000000000000000/31830988618379068626528276418969 (/ (pow y 2) (pow (exp z) 2))))))
(+ (* 5000000000000000/5641895835477563 (/ y (exp z))) (* x (- (+ 1 (* x (- (* 625000000000000000000000000000000000000000000000000000000000000/1013211836423377808197068612118338110498536634308026710423022961 (/ (* x (pow y 4)) (pow (exp z) 4))) (* -125000000000000000000000000000000000000000000000/179587122125166574152748016388400639365587092547 (/ (pow y 3) (pow (exp z) 3)))))) (* -25000000000000000000000000000000/31830988618379068626528276418969 (/ (pow y 2) (pow (exp z) 2))))))
(+ (* 25000000000000000000000000000000/31830988618379068626528276418969 (/ (* x (pow y 2)) (pow (exp z) 2))) (* 5000000000000000/5641895835477563 (/ y (exp z))))
(+ (* 5000000000000000/5641895835477563 (/ y (exp z))) (* x (- (* 125000000000000000000000000000000000000000000000/179587122125166574152748016388400639365587092547 (/ (* x (pow y 3)) (pow (exp z) 3))) (* -25000000000000000000000000000000/31830988618379068626528276418969 (/ (pow y 2) (pow (exp z) 2))))))
(+ (* 5000000000000000/5641895835477563 (/ y (exp z))) (* x (- (* x (- (* 625000000000000000000000000000000000000000000000000000000000000/1013211836423377808197068612118338110498536634308026710423022961 (/ (* x (pow y 4)) (pow (exp z) 4))) (* -125000000000000000000000000000000000000000000000/179587122125166574152748016388400639365587092547 (/ (pow y 3) (pow (exp z) 3))))) (* -25000000000000000000000000000000/31830988618379068626528276418969 (/ (pow y 2) (pow (exp z) 2))))))
(* 5641895835477563/5000000000000000 (exp z))
(+ (* -1 (* x y)) (* 5641895835477563/5000000000000000 (exp z)))
x
(* x (- 1 (/ 1 (pow x 2))))
(* x (- (+ 1 (* -5641895835477563/5000000000000000 (/ (exp z) (* (pow x 3) y)))) (/ 1 (pow x 2))))
(* x (- (+ 1 (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (* (pow x 4) (pow y 2))))) (+ (* 5641895835477563/5000000000000000 (/ (exp z) (* (pow x 3) y))) (/ 1 (pow x 2)))))
(/ -1 x)
(/ (- (* -5641895835477563/5000000000000000 (/ (exp z) (* x y))) 1) x)
(/ (- (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (* (pow x 2) (pow y 2)))) (+ 1 (* 5641895835477563/5000000000000000 (/ (exp z) (* x y))))) x)
(/ (- (* -179587122125166574152748016388400639365587092547/125000000000000000000000000000000000000000000000 (/ (pow (exp z) 3) (* (pow x 3) (pow y 3)))) (+ 1 (+ (* 5641895835477563/5000000000000000 (/ (exp z) (* x y))) (* 31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (* (pow x 2) (pow y 2))))))) x)
(* -1 (* x y))
(* x (- (* 5641895835477563/5000000000000000 (/ (exp z) x)) y))
(* -1 (* x (- (/ 1 (pow x 2)) 1)))
(* -1 (* x (- (+ (* 5641895835477563/5000000000000000 (/ (exp z) (* (pow x 3) y))) (/ 1 (pow x 2))) 1)))
(* -1 (* x (- (+ (* -1 (/ (- (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (* x (pow y 2)))) (* 5641895835477563/5000000000000000 (/ (exp z) y))) (pow x 3))) (/ 1 (pow x 2))) 1)))
(* -1 (/ (+ 1 (* 5641895835477563/5000000000000000 (/ (exp z) (* x y)))) x))
(* -1 (/ (+ 1 (* -1 (/ (- (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (* x (pow y 2)))) (* 5641895835477563/5000000000000000 (/ (exp z) y))) x))) x))
(* -1 (/ (+ 1 (* -1 (/ (- (* -1 (/ (- (* 179587122125166574152748016388400639365587092547/125000000000000000000000000000000000000000000000 (/ (pow (exp z) 3) (* x (pow y 3)))) (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (pow y 2)))) x)) (* 5641895835477563/5000000000000000 (/ (exp z) y))) x))) x))
(* -1 (* x (- (* -5641895835477563/5000000000000000 (/ (exp z) x)) (* -1 y))))
(+ x (* 5000000000000000/5641895835477563 (/ y (exp z))))
(+ x (* y (+ (* 25000000000000000000000000000000/31830988618379068626528276418969 (/ (* x y) (pow (exp z) 2))) (* 5000000000000000/5641895835477563 (/ 1 (exp z))))))
(+ x (* y (+ (* y (- (* 125000000000000000000000000000000000000000000000/179587122125166574152748016388400639365587092547 (/ (* (pow x 2) y) (pow (exp z) 3))) (* -25000000000000000000000000000000/31830988618379068626528276418969 (/ x (pow (exp z) 2))))) (* 5000000000000000/5641895835477563 (/ 1 (exp z))))))
(* y (+ (* 25000000000000000000000000000000/31830988618379068626528276418969 (/ (* x y) (pow (exp z) 2))) (* 5000000000000000/5641895835477563 (/ 1 (exp z)))))
(* y (+ (* y (- (* 125000000000000000000000000000000000000000000000/179587122125166574152748016388400639365587092547 (/ (* (pow x 2) y) (pow (exp z) 3))) (* -25000000000000000000000000000000/31830988618379068626528276418969 (/ x (pow (exp z) 2))))) (* 5000000000000000/5641895835477563 (/ 1 (exp z)))))
(* y (+ (* y (- (* y (- (* 625000000000000000000000000000000000000000000000000000000000000/1013211836423377808197068612118338110498536634308026710423022961 (/ (* (pow x 3) y) (pow (exp z) 4))) (* -125000000000000000000000000000000000000000000000/179587122125166574152748016388400639365587092547 (/ (pow x 2) (pow (exp z) 3))))) (* -25000000000000000000000000000000/31830988618379068626528276418969 (/ x (pow (exp z) 2))))) (* 5000000000000000/5641895835477563 (/ 1 (exp z)))))
(- x (/ 1 x))
(- (+ x (* -5641895835477563/5000000000000000 (/ (exp z) (* (pow x 2) y)))) (/ 1 x))
(- (+ x (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (* (pow x 3) (pow y 2))))) (+ (* 5641895835477563/5000000000000000 (/ (exp z) (* (pow x 2) y))) (/ 1 x)))
(- (+ x (* -179587122125166574152748016388400639365587092547/125000000000000000000000000000000000000000000000 (/ (pow (exp z) 3) (* (pow x 4) (pow y 3))))) (+ (* 5641895835477563/5000000000000000 (/ (exp z) (* (pow x 2) y))) (+ (* 31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (* (pow x 3) (pow y 2)))) (/ 1 x))))
(- (* -5641895835477563/5000000000000000 (/ (exp z) (* (pow x 2) y))) (/ 1 x))
(- (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (* (pow x 3) (pow y 2)))) (+ (* 5641895835477563/5000000000000000 (/ (exp z) (* (pow x 2) y))) (/ 1 x)))
(- (* -179587122125166574152748016388400639365587092547/125000000000000000000000000000000000000000000000 (/ (pow (exp z) 3) (* (pow x 4) (pow y 3)))) (+ (* 5641895835477563/5000000000000000 (/ (exp z) (* (pow x 2) y))) (+ (* 31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (* (pow x 3) (pow y 2)))) (/ 1 x))))
(* y (- (* 5641895835477563/5000000000000000 (/ (exp z) y)) x))
(- (+ x (* -1 (/ (+ (* 5641895835477563/5000000000000000 (/ (exp z) (pow x 2))) (* 31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (* (pow x 3) y)))) y))) (/ 1 x))
(- (+ x (* -1 (/ (+ (* -1 (/ (+ (* -179587122125166574152748016388400639365587092547/125000000000000000000000000000000000000000000000 (/ (pow (exp z) 3) (* (pow x 4) y))) (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (pow x 3)))) y)) (* 5641895835477563/5000000000000000 (/ (exp z) (pow x 2)))) y))) (/ 1 x))
(- (* -1 (/ (- (* 31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (* (pow x 3) y))) (* -5641895835477563/5000000000000000 (/ (exp z) (pow x 2)))) y)) (/ 1 x))
(- (* -1 (/ (- (* -1 (/ (- (* -179587122125166574152748016388400639365587092547/125000000000000000000000000000000000000000000000 (/ (pow (exp z) 3) (* (pow x 4) y))) (* 31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (pow x 3)))) y)) (* -5641895835477563/5000000000000000 (/ (exp z) (pow x 2)))) y)) (/ 1 x))
(* -1 (* y (- (* -5641895835477563/5000000000000000 (/ (exp z) y)) (* -1 x))))
(+ x (/ y (- 5641895835477563/5000000000000000 (* x y))))
(+ x (+ (* -5641895835477563/5000000000000000 (/ (* y z) (pow (- 5641895835477563/5000000000000000 (* x y)) 2))) (/ y (- 5641895835477563/5000000000000000 (* x y)))))
(+ x (+ (* z (- (* -1 (* z (+ (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 3))) (* 5641895835477563/10000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 2)))))) (* 5641895835477563/5000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 2))))) (/ y (- 5641895835477563/5000000000000000 (* x y)))))
(+ x (+ (* z (- (* z (- (* -1 (* z (+ (* -5641895835477563/5000000000000000 (/ (+ (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 3))) (* 5641895835477563/10000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 2)))) (- 5641895835477563/5000000000000000 (* x y)))) (+ (* -31830988618379068626528276418969/50000000000000000000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 3))) (* 5641895835477563/30000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 2))))))) (+ (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 3))) (* 5641895835477563/10000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 2)))))) (* 5641895835477563/5000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 2))))) (/ y (- 5641895835477563/5000000000000000 (* x y)))))
(/ y (- 5641895835477563/5000000000000000 (* x y)))
(+ (* -5641895835477563/5000000000000000 (/ (* y z) (pow (- 5641895835477563/5000000000000000 (* x y)) 2))) (/ y (- 5641895835477563/5000000000000000 (* x y))))
(+ (* z (- (* -1 (* z (+ (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 3))) (* 5641895835477563/10000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 2)))))) (* 5641895835477563/5000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 2))))) (/ y (- 5641895835477563/5000000000000000 (* x y))))
(+ (* z (- (* z (- (* -1 (* z (+ (* -5641895835477563/5000000000000000 (/ (+ (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 3))) (* 5641895835477563/10000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 2)))) (- 5641895835477563/5000000000000000 (* x y)))) (+ (* -31830988618379068626528276418969/50000000000000000000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 3))) (* 5641895835477563/30000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 2))))))) (+ (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 3))) (* 5641895835477563/10000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 2)))))) (* 5641895835477563/5000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 2))))) (/ y (- 5641895835477563/5000000000000000 (* x y))))
(- 5641895835477563/5000000000000000 (* x y))
(- (+ 5641895835477563/5000000000000000 (* 5641895835477563/5000000000000000 z)) (* x y))
(- (+ 5641895835477563/5000000000000000 (* z (+ 5641895835477563/5000000000000000 (* 5641895835477563/10000000000000000 z)))) (* x y))
(- (+ 5641895835477563/5000000000000000 (* z (+ 5641895835477563/5000000000000000 (* z (+ 5641895835477563/10000000000000000 (* 5641895835477563/30000000000000000 z)))))) (* x y))
5641895835477563/5000000000000000
(+ 5641895835477563/5000000000000000 (* 5641895835477563/5000000000000000 z))
(+ 5641895835477563/5000000000000000 (* z (+ 5641895835477563/5000000000000000 (* 5641895835477563/10000000000000000 z))))
(+ 5641895835477563/5000000000000000 (* z (+ 5641895835477563/5000000000000000 (* z (+ 5641895835477563/10000000000000000 (* 5641895835477563/30000000000000000 z))))))
(+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y))))
(/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))
(- (* 5641895835477563/5000000000000000 (exp z)) (* x y))
Calls

9 calls:

TimeVariablePointExpression
1.0ms
y
@inf
((+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y))) (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)) (* 5641895835477563/5000000000000000 (exp z)))
1.0ms
x
@0
((+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y))) (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)) (* 5641895835477563/5000000000000000 (exp z)))
1.0ms
z
@-inf
((+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y))) (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)) (* 5641895835477563/5000000000000000 (exp z)))
1.0ms
x
@inf
((+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y))) (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)) (* 5641895835477563/5000000000000000 (exp z)))
1.0ms
z
@0
((+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y))) (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)) (* 5641895835477563/5000000000000000 (exp z)))

simplify1.0ms (0.1%)

Memory
2.4MiB live, 2.4MiB allocated
Algorithm
egg-herbie
Counts
64 → 4
Calls
Call 1
Inputs
(* 5000000000000000/5641895835477563 (/ y (exp z)))
(+ (* 5000000000000000/5641895835477563 (/ y (exp z))) (* x (- 1 (* -25000000000000000000000000000000/31830988618379068626528276418969 (/ (pow y 2) (pow (exp z) 2))))))
(+ (* 5000000000000000/5641895835477563 (/ y (exp z))) (* x (- (+ 1 (* 125000000000000000000000000000000000000000000000/179587122125166574152748016388400639365587092547 (/ (* x (pow y 3)) (pow (exp z) 3)))) (* -25000000000000000000000000000000/31830988618379068626528276418969 (/ (pow y 2) (pow (exp z) 2))))))
(+ (* 5000000000000000/5641895835477563 (/ y (exp z))) (* x (- (+ 1 (* x (- (* 625000000000000000000000000000000000000000000000000000000000000/1013211836423377808197068612118338110498536634308026710423022961 (/ (* x (pow y 4)) (pow (exp z) 4))) (* -125000000000000000000000000000000000000000000000/179587122125166574152748016388400639365587092547 (/ (pow y 3) (pow (exp z) 3)))))) (* -25000000000000000000000000000000/31830988618379068626528276418969 (/ (pow y 2) (pow (exp z) 2))))))
(+ (* 25000000000000000000000000000000/31830988618379068626528276418969 (/ (* x (pow y 2)) (pow (exp z) 2))) (* 5000000000000000/5641895835477563 (/ y (exp z))))
(+ (* 5000000000000000/5641895835477563 (/ y (exp z))) (* x (- (* 125000000000000000000000000000000000000000000000/179587122125166574152748016388400639365587092547 (/ (* x (pow y 3)) (pow (exp z) 3))) (* -25000000000000000000000000000000/31830988618379068626528276418969 (/ (pow y 2) (pow (exp z) 2))))))
(+ (* 5000000000000000/5641895835477563 (/ y (exp z))) (* x (- (* x (- (* 625000000000000000000000000000000000000000000000000000000000000/1013211836423377808197068612118338110498536634308026710423022961 (/ (* x (pow y 4)) (pow (exp z) 4))) (* -125000000000000000000000000000000000000000000000/179587122125166574152748016388400639365587092547 (/ (pow y 3) (pow (exp z) 3))))) (* -25000000000000000000000000000000/31830988618379068626528276418969 (/ (pow y 2) (pow (exp z) 2))))))
(* 5641895835477563/5000000000000000 (exp z))
(+ (* -1 (* x y)) (* 5641895835477563/5000000000000000 (exp z)))
x
(* x (- 1 (/ 1 (pow x 2))))
(* x (- (+ 1 (* -5641895835477563/5000000000000000 (/ (exp z) (* (pow x 3) y)))) (/ 1 (pow x 2))))
(* x (- (+ 1 (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (* (pow x 4) (pow y 2))))) (+ (* 5641895835477563/5000000000000000 (/ (exp z) (* (pow x 3) y))) (/ 1 (pow x 2)))))
(/ -1 x)
(/ (- (* -5641895835477563/5000000000000000 (/ (exp z) (* x y))) 1) x)
(/ (- (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (* (pow x 2) (pow y 2)))) (+ 1 (* 5641895835477563/5000000000000000 (/ (exp z) (* x y))))) x)
(/ (- (* -179587122125166574152748016388400639365587092547/125000000000000000000000000000000000000000000000 (/ (pow (exp z) 3) (* (pow x 3) (pow y 3)))) (+ 1 (+ (* 5641895835477563/5000000000000000 (/ (exp z) (* x y))) (* 31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (* (pow x 2) (pow y 2))))))) x)
(* -1 (* x y))
(* x (- (* 5641895835477563/5000000000000000 (/ (exp z) x)) y))
(* -1 (* x (- (/ 1 (pow x 2)) 1)))
(* -1 (* x (- (+ (* 5641895835477563/5000000000000000 (/ (exp z) (* (pow x 3) y))) (/ 1 (pow x 2))) 1)))
(* -1 (* x (- (+ (* -1 (/ (- (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (* x (pow y 2)))) (* 5641895835477563/5000000000000000 (/ (exp z) y))) (pow x 3))) (/ 1 (pow x 2))) 1)))
(* -1 (/ (+ 1 (* 5641895835477563/5000000000000000 (/ (exp z) (* x y)))) x))
(* -1 (/ (+ 1 (* -1 (/ (- (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (* x (pow y 2)))) (* 5641895835477563/5000000000000000 (/ (exp z) y))) x))) x))
(* -1 (/ (+ 1 (* -1 (/ (- (* -1 (/ (- (* 179587122125166574152748016388400639365587092547/125000000000000000000000000000000000000000000000 (/ (pow (exp z) 3) (* x (pow y 3)))) (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (pow y 2)))) x)) (* 5641895835477563/5000000000000000 (/ (exp z) y))) x))) x))
(* -1 (* x (- (* -5641895835477563/5000000000000000 (/ (exp z) x)) (* -1 y))))
(+ x (* 5000000000000000/5641895835477563 (/ y (exp z))))
(+ x (* y (+ (* 25000000000000000000000000000000/31830988618379068626528276418969 (/ (* x y) (pow (exp z) 2))) (* 5000000000000000/5641895835477563 (/ 1 (exp z))))))
(+ x (* y (+ (* y (- (* 125000000000000000000000000000000000000000000000/179587122125166574152748016388400639365587092547 (/ (* (pow x 2) y) (pow (exp z) 3))) (* -25000000000000000000000000000000/31830988618379068626528276418969 (/ x (pow (exp z) 2))))) (* 5000000000000000/5641895835477563 (/ 1 (exp z))))))
(* y (+ (* 25000000000000000000000000000000/31830988618379068626528276418969 (/ (* x y) (pow (exp z) 2))) (* 5000000000000000/5641895835477563 (/ 1 (exp z)))))
(* y (+ (* y (- (* 125000000000000000000000000000000000000000000000/179587122125166574152748016388400639365587092547 (/ (* (pow x 2) y) (pow (exp z) 3))) (* -25000000000000000000000000000000/31830988618379068626528276418969 (/ x (pow (exp z) 2))))) (* 5000000000000000/5641895835477563 (/ 1 (exp z)))))
(* y (+ (* y (- (* y (- (* 625000000000000000000000000000000000000000000000000000000000000/1013211836423377808197068612118338110498536634308026710423022961 (/ (* (pow x 3) y) (pow (exp z) 4))) (* -125000000000000000000000000000000000000000000000/179587122125166574152748016388400639365587092547 (/ (pow x 2) (pow (exp z) 3))))) (* -25000000000000000000000000000000/31830988618379068626528276418969 (/ x (pow (exp z) 2))))) (* 5000000000000000/5641895835477563 (/ 1 (exp z)))))
(- x (/ 1 x))
(- (+ x (* -5641895835477563/5000000000000000 (/ (exp z) (* (pow x 2) y)))) (/ 1 x))
(- (+ x (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (* (pow x 3) (pow y 2))))) (+ (* 5641895835477563/5000000000000000 (/ (exp z) (* (pow x 2) y))) (/ 1 x)))
(- (+ x (* -179587122125166574152748016388400639365587092547/125000000000000000000000000000000000000000000000 (/ (pow (exp z) 3) (* (pow x 4) (pow y 3))))) (+ (* 5641895835477563/5000000000000000 (/ (exp z) (* (pow x 2) y))) (+ (* 31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (* (pow x 3) (pow y 2)))) (/ 1 x))))
(- (* -5641895835477563/5000000000000000 (/ (exp z) (* (pow x 2) y))) (/ 1 x))
(- (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (* (pow x 3) (pow y 2)))) (+ (* 5641895835477563/5000000000000000 (/ (exp z) (* (pow x 2) y))) (/ 1 x)))
(- (* -179587122125166574152748016388400639365587092547/125000000000000000000000000000000000000000000000 (/ (pow (exp z) 3) (* (pow x 4) (pow y 3)))) (+ (* 5641895835477563/5000000000000000 (/ (exp z) (* (pow x 2) y))) (+ (* 31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (* (pow x 3) (pow y 2)))) (/ 1 x))))
(* y (- (* 5641895835477563/5000000000000000 (/ (exp z) y)) x))
(- (+ x (* -1 (/ (+ (* 5641895835477563/5000000000000000 (/ (exp z) (pow x 2))) (* 31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (* (pow x 3) y)))) y))) (/ 1 x))
(- (+ x (* -1 (/ (+ (* -1 (/ (+ (* -179587122125166574152748016388400639365587092547/125000000000000000000000000000000000000000000000 (/ (pow (exp z) 3) (* (pow x 4) y))) (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (pow x 3)))) y)) (* 5641895835477563/5000000000000000 (/ (exp z) (pow x 2)))) y))) (/ 1 x))
(- (* -1 (/ (- (* 31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (* (pow x 3) y))) (* -5641895835477563/5000000000000000 (/ (exp z) (pow x 2)))) y)) (/ 1 x))
(- (* -1 (/ (- (* -1 (/ (- (* -179587122125166574152748016388400639365587092547/125000000000000000000000000000000000000000000000 (/ (pow (exp z) 3) (* (pow x 4) y))) (* 31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (pow x 3)))) y)) (* -5641895835477563/5000000000000000 (/ (exp z) (pow x 2)))) y)) (/ 1 x))
(* -1 (* y (- (* -5641895835477563/5000000000000000 (/ (exp z) y)) (* -1 x))))
(+ x (/ y (- 5641895835477563/5000000000000000 (* x y))))
(+ x (+ (* -5641895835477563/5000000000000000 (/ (* y z) (pow (- 5641895835477563/5000000000000000 (* x y)) 2))) (/ y (- 5641895835477563/5000000000000000 (* x y)))))
(+ x (+ (* z (- (* -1 (* z (+ (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 3))) (* 5641895835477563/10000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 2)))))) (* 5641895835477563/5000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 2))))) (/ y (- 5641895835477563/5000000000000000 (* x y)))))
(+ x (+ (* z (- (* z (- (* -1 (* z (+ (* -5641895835477563/5000000000000000 (/ (+ (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 3))) (* 5641895835477563/10000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 2)))) (- 5641895835477563/5000000000000000 (* x y)))) (+ (* -31830988618379068626528276418969/50000000000000000000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 3))) (* 5641895835477563/30000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 2))))))) (+ (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 3))) (* 5641895835477563/10000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 2)))))) (* 5641895835477563/5000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 2))))) (/ y (- 5641895835477563/5000000000000000 (* x y)))))
(/ y (- 5641895835477563/5000000000000000 (* x y)))
(+ (* -5641895835477563/5000000000000000 (/ (* y z) (pow (- 5641895835477563/5000000000000000 (* x y)) 2))) (/ y (- 5641895835477563/5000000000000000 (* x y))))
(+ (* z (- (* -1 (* z (+ (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 3))) (* 5641895835477563/10000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 2)))))) (* 5641895835477563/5000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 2))))) (/ y (- 5641895835477563/5000000000000000 (* x y))))
(+ (* z (- (* z (- (* -1 (* z (+ (* -5641895835477563/5000000000000000 (/ (+ (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 3))) (* 5641895835477563/10000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 2)))) (- 5641895835477563/5000000000000000 (* x y)))) (+ (* -31830988618379068626528276418969/50000000000000000000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 3))) (* 5641895835477563/30000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 2))))))) (+ (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 3))) (* 5641895835477563/10000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 2)))))) (* 5641895835477563/5000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 2))))) (/ y (- 5641895835477563/5000000000000000 (* x y))))
(- 5641895835477563/5000000000000000 (* x y))
(- (+ 5641895835477563/5000000000000000 (* 5641895835477563/5000000000000000 z)) (* x y))
(- (+ 5641895835477563/5000000000000000 (* z (+ 5641895835477563/5000000000000000 (* 5641895835477563/10000000000000000 z)))) (* x y))
(- (+ 5641895835477563/5000000000000000 (* z (+ 5641895835477563/5000000000000000 (* z (+ 5641895835477563/10000000000000000 (* 5641895835477563/30000000000000000 z)))))) (* x y))
5641895835477563/5000000000000000
(+ 5641895835477563/5000000000000000 (* 5641895835477563/5000000000000000 z))
(+ 5641895835477563/5000000000000000 (* z (+ 5641895835477563/5000000000000000 (* 5641895835477563/10000000000000000 z))))
(+ 5641895835477563/5000000000000000 (* z (+ 5641895835477563/5000000000000000 (* z (+ 5641895835477563/10000000000000000 (* 5641895835477563/30000000000000000 z))))))
(+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y))))
(/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))
(- (* 5641895835477563/5000000000000000 (exp z)) (* x y))
Outputs
(* 5000000000000000/5641895835477563 (/ y (exp z)))
(+.f64 x (/.f64 y (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))))
(+ (* 5000000000000000/5641895835477563 (/ y (exp z))) (* x (- 1 (* -25000000000000000000000000000000/31830988618379068626528276418969 (/ (pow y 2) (pow (exp z) 2))))))
(/.f64 y (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y)))
(+ (* 5000000000000000/5641895835477563 (/ y (exp z))) (* x (- (+ 1 (* 125000000000000000000000000000000000000000000000/179587122125166574152748016388400639365587092547 (/ (* x (pow y 3)) (pow (exp z) 3)))) (* -25000000000000000000000000000000/31830988618379068626528276418969 (/ (pow y 2) (pow (exp z) 2))))))
(-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))
(+ (* 5000000000000000/5641895835477563 (/ y (exp z))) (* x (- (+ 1 (* x (- (* 625000000000000000000000000000000000000000000000000000000000000/1013211836423377808197068612118338110498536634308026710423022961 (/ (* x (pow y 4)) (pow (exp z) 4))) (* -125000000000000000000000000000000000000000000000/179587122125166574152748016388400639365587092547 (/ (pow y 3) (pow (exp z) 3)))))) (* -25000000000000000000000000000000/31830988618379068626528276418969 (/ (pow y 2) (pow (exp z) 2))))))
(*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z))

rewrite2.0ms (0.2%)

Memory
-37.1MiB live, 0.8MiB allocated
Counts
4 → 4
Calls
Call 1
Inputs
(+.f64 x (/.f64 y (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))))
(/.f64 y (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y)))
(-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))
(*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z))
Outputs
(+.f64 x (/.f64 y (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))))
(/.f64 y (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y)))
(-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))
(*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z))

eval1.0ms (0.1%)

Memory
2.0MiB live, 2.0MiB allocated
Compiler

Compiled 134 to 21 computations (84.3% saved)

prune2.0ms (0.1%)

Memory
6.0MiB live, 6.0MiB allocated
Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New538
Fresh000
Picked011
Done000
Total549
Accuracy
96.7%
Counts
9 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
96.6%
(+.f64 x (/.f64 y (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))))
29.4%
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (/.f64 y (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))))
3.0%
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y)))
2.7%
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)))
Compiler

Compiled 73 to 57 computations (21.9% saved)

simplify1.0ms (0.1%)

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

Found 11 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z))
cost-diff0
(-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))
cost-diff0
(/.f64 y (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y)))
cost-diff0
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (/.f64 y (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))))
cost-diff0
(exp.f64 z)
cost-diff0
(*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z))
cost-diff0
(-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))
cost-diff0
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y)))
cost-diff0
(exp.f64 z)
cost-diff0
(*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z))
cost-diff0
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)))
Calls
Call 1
Inputs
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)))
(*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z))
#s(literal 5641895835477563/5000000000000000 binary64)
(exp.f64 z)
z
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y)))
(-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))
(*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z))
#s(literal 5641895835477563/5000000000000000 binary64)
(exp.f64 z)
z
(*.f64 x y)
x
y
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (/.f64 y (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))))
(/.f64 y (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y)))
y
(-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))
(*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z))
#s(literal 5641895835477563/5000000000000000 binary64)
(exp.f64 z)
z
(*.f64 x y)
x
Outputs
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)))
(*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z))
#s(literal 5641895835477563/5000000000000000 binary64)
(exp.f64 z)
z
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y)))
(-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))
(*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z))
#s(literal 5641895835477563/5000000000000000 binary64)
(exp.f64 z)
z
(*.f64 x y)
x
y
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (/.f64 y (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))))
(/.f64 y (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y)))
y
(-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))
(*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z))
#s(literal 5641895835477563/5000000000000000 binary64)
(exp.f64 z)
z
(*.f64 x y)
x

localize42.0ms (2.8%)

Memory
-12.5MiB live, 74.3MiB allocated
Localize:

Found 11 expressions of interest:

NewMetricScoreProgram
accuracy0.00390625
(*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z))
accuracy0.6054687500000001
(-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))
accuracy6.883392626778185
(/.f64 y (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y)))
accuracy43.73685749500396
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (/.f64 y (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))))
accuracy0.0
(exp.f64 z)
accuracy0.00390625
(*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z))
accuracy0.6054687500000001
(-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))
accuracy62.06720212613633
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y)))
accuracy0.0
(exp.f64 z)
accuracy0.00390625
(*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z))
accuracy62.261907613924784
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)))
Samples
25.0ms256×0valid
Compiler

Compiled 219 to 31 computations (85.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 13.0ms
const: 4.0ms (30.2% of total)
ival-mult: 3.0ms (22.7% of total)
ival-div: 2.0ms (15.1% of total)
ival-exp: 2.0ms (15.1% of total)
ival-sub: 1.0ms (7.6% of total)
ival-add: 1.0ms (7.6% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series5.0ms (0.4%)

Memory
10.4MiB live, 10.4MiB allocated
Counts
7 → 69
Calls
Call 1
Inputs
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)))
(*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z))
(exp.f64 z)
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y)))
(-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (/.f64 y (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))))
(/.f64 y (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y)))
Outputs
(* 5000000000000000/5641895835477563 (/ y (exp z)))
(+ (* 5000000000000000/5641895835477563 (/ y (exp z))) (* x (- 1 (* -25000000000000000000000000000000/31830988618379068626528276418969 (/ (pow y 2) (pow (exp z) 2))))))
(+ (* 5000000000000000/5641895835477563 (/ y (exp z))) (* x (- (+ 1 (* 125000000000000000000000000000000000000000000000/179587122125166574152748016388400639365587092547 (/ (* x (pow y 3)) (pow (exp z) 3)))) (* -25000000000000000000000000000000/31830988618379068626528276418969 (/ (pow y 2) (pow (exp z) 2))))))
(+ (* 5000000000000000/5641895835477563 (/ y (exp z))) (* x (- (+ 1 (* x (- (* 625000000000000000000000000000000000000000000000000000000000000/1013211836423377808197068612118338110498536634308026710423022961 (/ (* x (pow y 4)) (pow (exp z) 4))) (* -125000000000000000000000000000000000000000000000/179587122125166574152748016388400639365587092547 (/ (pow y 3) (pow (exp z) 3)))))) (* -25000000000000000000000000000000/31830988618379068626528276418969 (/ (pow y 2) (pow (exp z) 2))))))
(* 5641895835477563/5000000000000000 (exp z))
(+ (* -1 (* x y)) (* 5641895835477563/5000000000000000 (exp z)))
(+ (* 25000000000000000000000000000000/31830988618379068626528276418969 (/ (* x (pow y 2)) (pow (exp z) 2))) (* 5000000000000000/5641895835477563 (/ y (exp z))))
(+ (* 5000000000000000/5641895835477563 (/ y (exp z))) (* x (- (* 125000000000000000000000000000000000000000000000/179587122125166574152748016388400639365587092547 (/ (* x (pow y 3)) (pow (exp z) 3))) (* -25000000000000000000000000000000/31830988618379068626528276418969 (/ (pow y 2) (pow (exp z) 2))))))
(+ (* 5000000000000000/5641895835477563 (/ y (exp z))) (* x (- (* x (- (* 625000000000000000000000000000000000000000000000000000000000000/1013211836423377808197068612118338110498536634308026710423022961 (/ (* x (pow y 4)) (pow (exp z) 4))) (* -125000000000000000000000000000000000000000000000/179587122125166574152748016388400639365587092547 (/ (pow y 3) (pow (exp z) 3))))) (* -25000000000000000000000000000000/31830988618379068626528276418969 (/ (pow y 2) (pow (exp z) 2))))))
x
(* x (- 1 (/ 1 (pow x 2))))
(* x (- (+ 1 (* -5641895835477563/5000000000000000 (/ (exp z) (* (pow x 3) y)))) (/ 1 (pow x 2))))
(* x (- (+ 1 (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (* (pow x 4) (pow y 2))))) (+ (* 5641895835477563/5000000000000000 (/ (exp z) (* (pow x 3) y))) (/ 1 (pow x 2)))))
(* -1 (* x y))
(* x (- (* 5641895835477563/5000000000000000 (/ (exp z) x)) y))
(/ -1 x)
(/ (- (* -5641895835477563/5000000000000000 (/ (exp z) (* x y))) 1) x)
(/ (- (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (* (pow x 2) (pow y 2)))) (+ 1 (* 5641895835477563/5000000000000000 (/ (exp z) (* x y))))) x)
(/ (- (* -179587122125166574152748016388400639365587092547/125000000000000000000000000000000000000000000000 (/ (pow (exp z) 3) (* (pow x 3) (pow y 3)))) (+ 1 (+ (* 5641895835477563/5000000000000000 (/ (exp z) (* x y))) (* 31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (* (pow x 2) (pow y 2))))))) x)
(* -1 (* x (- (/ 1 (pow x 2)) 1)))
(* -1 (* x (- (+ (* 5641895835477563/5000000000000000 (/ (exp z) (* (pow x 3) y))) (/ 1 (pow x 2))) 1)))
(* -1 (* x (- (+ (* -1 (/ (- (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (* x (pow y 2)))) (* 5641895835477563/5000000000000000 (/ (exp z) y))) (pow x 3))) (/ 1 (pow x 2))) 1)))
(* -1 (* x (- (* -5641895835477563/5000000000000000 (/ (exp z) x)) (* -1 y))))
(* -1 (/ (+ 1 (* 5641895835477563/5000000000000000 (/ (exp z) (* x y)))) x))
(* -1 (/ (+ 1 (* -1 (/ (- (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (* x (pow y 2)))) (* 5641895835477563/5000000000000000 (/ (exp z) y))) x))) x))
(* -1 (/ (+ 1 (* -1 (/ (- (* -1 (/ (- (* 179587122125166574152748016388400639365587092547/125000000000000000000000000000000000000000000000 (/ (pow (exp z) 3) (* x (pow y 3)))) (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (pow y 2)))) x)) (* 5641895835477563/5000000000000000 (/ (exp z) y))) x))) x))
(+ x (* 5000000000000000/5641895835477563 (/ y (exp z))))
(+ x (* y (+ (* 25000000000000000000000000000000/31830988618379068626528276418969 (/ (* x y) (pow (exp z) 2))) (* 5000000000000000/5641895835477563 (/ 1 (exp z))))))
(+ x (* y (+ (* y (- (* 125000000000000000000000000000000000000000000000/179587122125166574152748016388400639365587092547 (/ (* (pow x 2) y) (pow (exp z) 3))) (* -25000000000000000000000000000000/31830988618379068626528276418969 (/ x (pow (exp z) 2))))) (* 5000000000000000/5641895835477563 (/ 1 (exp z))))))
(* y (+ (* 25000000000000000000000000000000/31830988618379068626528276418969 (/ (* x y) (pow (exp z) 2))) (* 5000000000000000/5641895835477563 (/ 1 (exp z)))))
(* y (+ (* y (- (* 125000000000000000000000000000000000000000000000/179587122125166574152748016388400639365587092547 (/ (* (pow x 2) y) (pow (exp z) 3))) (* -25000000000000000000000000000000/31830988618379068626528276418969 (/ x (pow (exp z) 2))))) (* 5000000000000000/5641895835477563 (/ 1 (exp z)))))
(* y (+ (* y (- (* y (- (* 625000000000000000000000000000000000000000000000000000000000000/1013211836423377808197068612118338110498536634308026710423022961 (/ (* (pow x 3) y) (pow (exp z) 4))) (* -125000000000000000000000000000000000000000000000/179587122125166574152748016388400639365587092547 (/ (pow x 2) (pow (exp z) 3))))) (* -25000000000000000000000000000000/31830988618379068626528276418969 (/ x (pow (exp z) 2))))) (* 5000000000000000/5641895835477563 (/ 1 (exp z)))))
(- x (/ 1 x))
(- (+ x (* -5641895835477563/5000000000000000 (/ (exp z) (* (pow x 2) y)))) (/ 1 x))
(- (+ x (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (* (pow x 3) (pow y 2))))) (+ (* 5641895835477563/5000000000000000 (/ (exp z) (* (pow x 2) y))) (/ 1 x)))
(- (+ x (* -179587122125166574152748016388400639365587092547/125000000000000000000000000000000000000000000000 (/ (pow (exp z) 3) (* (pow x 4) (pow y 3))))) (+ (* 5641895835477563/5000000000000000 (/ (exp z) (* (pow x 2) y))) (+ (* 31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (* (pow x 3) (pow y 2)))) (/ 1 x))))
(* y (- (* 5641895835477563/5000000000000000 (/ (exp z) y)) x))
(- (* -5641895835477563/5000000000000000 (/ (exp z) (* (pow x 2) y))) (/ 1 x))
(- (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (* (pow x 3) (pow y 2)))) (+ (* 5641895835477563/5000000000000000 (/ (exp z) (* (pow x 2) y))) (/ 1 x)))
(- (* -179587122125166574152748016388400639365587092547/125000000000000000000000000000000000000000000000 (/ (pow (exp z) 3) (* (pow x 4) (pow y 3)))) (+ (* 5641895835477563/5000000000000000 (/ (exp z) (* (pow x 2) y))) (+ (* 31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (* (pow x 3) (pow y 2)))) (/ 1 x))))
(- (+ x (* -1 (/ (+ (* 5641895835477563/5000000000000000 (/ (exp z) (pow x 2))) (* 31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (* (pow x 3) y)))) y))) (/ 1 x))
(- (+ x (* -1 (/ (+ (* -1 (/ (+ (* -179587122125166574152748016388400639365587092547/125000000000000000000000000000000000000000000000 (/ (pow (exp z) 3) (* (pow x 4) y))) (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (pow x 3)))) y)) (* 5641895835477563/5000000000000000 (/ (exp z) (pow x 2)))) y))) (/ 1 x))
(* -1 (* y (- (* -5641895835477563/5000000000000000 (/ (exp z) y)) (* -1 x))))
(- (* -1 (/ (- (* 31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (* (pow x 3) y))) (* -5641895835477563/5000000000000000 (/ (exp z) (pow x 2)))) y)) (/ 1 x))
(- (* -1 (/ (- (* -1 (/ (- (* -179587122125166574152748016388400639365587092547/125000000000000000000000000000000000000000000000 (/ (pow (exp z) 3) (* (pow x 4) y))) (* 31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (pow x 3)))) y)) (* -5641895835477563/5000000000000000 (/ (exp z) (pow x 2)))) y)) (/ 1 x))
(+ x (/ y (- 5641895835477563/5000000000000000 (* x y))))
(+ x (+ (* -5641895835477563/5000000000000000 (/ (* y z) (pow (- 5641895835477563/5000000000000000 (* x y)) 2))) (/ y (- 5641895835477563/5000000000000000 (* x y)))))
(+ x (+ (* z (- (* -1 (* z (+ (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 3))) (* 5641895835477563/10000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 2)))))) (* 5641895835477563/5000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 2))))) (/ y (- 5641895835477563/5000000000000000 (* x y)))))
(+ x (+ (* z (- (* z (- (* -1 (* z (+ (* -5641895835477563/5000000000000000 (/ (+ (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 3))) (* 5641895835477563/10000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 2)))) (- 5641895835477563/5000000000000000 (* x y)))) (+ (* -31830988618379068626528276418969/50000000000000000000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 3))) (* 5641895835477563/30000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 2))))))) (+ (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 3))) (* 5641895835477563/10000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 2)))))) (* 5641895835477563/5000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 2))))) (/ y (- 5641895835477563/5000000000000000 (* x y)))))
5641895835477563/5000000000000000
(+ 5641895835477563/5000000000000000 (* 5641895835477563/5000000000000000 z))
(+ 5641895835477563/5000000000000000 (* z (+ 5641895835477563/5000000000000000 (* 5641895835477563/10000000000000000 z))))
(+ 5641895835477563/5000000000000000 (* z (+ 5641895835477563/5000000000000000 (* z (+ 5641895835477563/10000000000000000 (* 5641895835477563/30000000000000000 z))))))
1
(+ 1 z)
(+ 1 (* z (+ 1 (* 1/2 z))))
(+ 1 (* z (+ 1 (* z (+ 1/2 (* 1/6 z))))))
(- 5641895835477563/5000000000000000 (* x y))
(- (+ 5641895835477563/5000000000000000 (* 5641895835477563/5000000000000000 z)) (* x y))
(- (+ 5641895835477563/5000000000000000 (* z (+ 5641895835477563/5000000000000000 (* 5641895835477563/10000000000000000 z)))) (* x y))
(- (+ 5641895835477563/5000000000000000 (* z (+ 5641895835477563/5000000000000000 (* z (+ 5641895835477563/10000000000000000 (* 5641895835477563/30000000000000000 z)))))) (* x y))
(/ y (- 5641895835477563/5000000000000000 (* x y)))
(+ (* -5641895835477563/5000000000000000 (/ (* y z) (pow (- 5641895835477563/5000000000000000 (* x y)) 2))) (/ y (- 5641895835477563/5000000000000000 (* x y))))
(+ (* z (- (* -1 (* z (+ (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 3))) (* 5641895835477563/10000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 2)))))) (* 5641895835477563/5000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 2))))) (/ y (- 5641895835477563/5000000000000000 (* x y))))
(+ (* z (- (* z (- (* -1 (* z (+ (* -5641895835477563/5000000000000000 (/ (+ (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 3))) (* 5641895835477563/10000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 2)))) (- 5641895835477563/5000000000000000 (* x y)))) (+ (* -31830988618379068626528276418969/50000000000000000000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 3))) (* 5641895835477563/30000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 2))))))) (+ (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 3))) (* 5641895835477563/10000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 2)))))) (* 5641895835477563/5000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 2))))) (/ y (- 5641895835477563/5000000000000000 (* x y))))
(+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y))))
(exp z)
(- (* 5641895835477563/5000000000000000 (exp z)) (* x y))
(/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))
Calls

9 calls:

TimeVariablePointExpression
1.0ms
z
@inf
((+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (* 5641895835477563/5000000000000000 (exp z)) (exp z) (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)) (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y))))
1.0ms
z
@-inf
((+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (* 5641895835477563/5000000000000000 (exp z)) (exp z) (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)) (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y))))
0.0ms
y
@-inf
((+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (* 5641895835477563/5000000000000000 (exp z)) (exp z) (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)) (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y))))
0.0ms
z
@0
((+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (* 5641895835477563/5000000000000000 (exp z)) (exp z) (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)) (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y))))
0.0ms
x
@0
((+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (* 5641895835477563/5000000000000000 (exp z)) (exp z) (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)) (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y))))

simplify1.0ms (0.1%)

Memory
3.1MiB live, 3.1MiB allocated
Algorithm
egg-herbie
Counts
69 → 7
Calls
Call 1
Inputs
(* 5000000000000000/5641895835477563 (/ y (exp z)))
(+ (* 5000000000000000/5641895835477563 (/ y (exp z))) (* x (- 1 (* -25000000000000000000000000000000/31830988618379068626528276418969 (/ (pow y 2) (pow (exp z) 2))))))
(+ (* 5000000000000000/5641895835477563 (/ y (exp z))) (* x (- (+ 1 (* 125000000000000000000000000000000000000000000000/179587122125166574152748016388400639365587092547 (/ (* x (pow y 3)) (pow (exp z) 3)))) (* -25000000000000000000000000000000/31830988618379068626528276418969 (/ (pow y 2) (pow (exp z) 2))))))
(+ (* 5000000000000000/5641895835477563 (/ y (exp z))) (* x (- (+ 1 (* x (- (* 625000000000000000000000000000000000000000000000000000000000000/1013211836423377808197068612118338110498536634308026710423022961 (/ (* x (pow y 4)) (pow (exp z) 4))) (* -125000000000000000000000000000000000000000000000/179587122125166574152748016388400639365587092547 (/ (pow y 3) (pow (exp z) 3)))))) (* -25000000000000000000000000000000/31830988618379068626528276418969 (/ (pow y 2) (pow (exp z) 2))))))
(* 5641895835477563/5000000000000000 (exp z))
(+ (* -1 (* x y)) (* 5641895835477563/5000000000000000 (exp z)))
(+ (* 25000000000000000000000000000000/31830988618379068626528276418969 (/ (* x (pow y 2)) (pow (exp z) 2))) (* 5000000000000000/5641895835477563 (/ y (exp z))))
(+ (* 5000000000000000/5641895835477563 (/ y (exp z))) (* x (- (* 125000000000000000000000000000000000000000000000/179587122125166574152748016388400639365587092547 (/ (* x (pow y 3)) (pow (exp z) 3))) (* -25000000000000000000000000000000/31830988618379068626528276418969 (/ (pow y 2) (pow (exp z) 2))))))
(+ (* 5000000000000000/5641895835477563 (/ y (exp z))) (* x (- (* x (- (* 625000000000000000000000000000000000000000000000000000000000000/1013211836423377808197068612118338110498536634308026710423022961 (/ (* x (pow y 4)) (pow (exp z) 4))) (* -125000000000000000000000000000000000000000000000/179587122125166574152748016388400639365587092547 (/ (pow y 3) (pow (exp z) 3))))) (* -25000000000000000000000000000000/31830988618379068626528276418969 (/ (pow y 2) (pow (exp z) 2))))))
x
(* x (- 1 (/ 1 (pow x 2))))
(* x (- (+ 1 (* -5641895835477563/5000000000000000 (/ (exp z) (* (pow x 3) y)))) (/ 1 (pow x 2))))
(* x (- (+ 1 (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (* (pow x 4) (pow y 2))))) (+ (* 5641895835477563/5000000000000000 (/ (exp z) (* (pow x 3) y))) (/ 1 (pow x 2)))))
(* -1 (* x y))
(* x (- (* 5641895835477563/5000000000000000 (/ (exp z) x)) y))
(/ -1 x)
(/ (- (* -5641895835477563/5000000000000000 (/ (exp z) (* x y))) 1) x)
(/ (- (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (* (pow x 2) (pow y 2)))) (+ 1 (* 5641895835477563/5000000000000000 (/ (exp z) (* x y))))) x)
(/ (- (* -179587122125166574152748016388400639365587092547/125000000000000000000000000000000000000000000000 (/ (pow (exp z) 3) (* (pow x 3) (pow y 3)))) (+ 1 (+ (* 5641895835477563/5000000000000000 (/ (exp z) (* x y))) (* 31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (* (pow x 2) (pow y 2))))))) x)
(* -1 (* x (- (/ 1 (pow x 2)) 1)))
(* -1 (* x (- (+ (* 5641895835477563/5000000000000000 (/ (exp z) (* (pow x 3) y))) (/ 1 (pow x 2))) 1)))
(* -1 (* x (- (+ (* -1 (/ (- (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (* x (pow y 2)))) (* 5641895835477563/5000000000000000 (/ (exp z) y))) (pow x 3))) (/ 1 (pow x 2))) 1)))
(* -1 (* x (- (* -5641895835477563/5000000000000000 (/ (exp z) x)) (* -1 y))))
(* -1 (/ (+ 1 (* 5641895835477563/5000000000000000 (/ (exp z) (* x y)))) x))
(* -1 (/ (+ 1 (* -1 (/ (- (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (* x (pow y 2)))) (* 5641895835477563/5000000000000000 (/ (exp z) y))) x))) x))
(* -1 (/ (+ 1 (* -1 (/ (- (* -1 (/ (- (* 179587122125166574152748016388400639365587092547/125000000000000000000000000000000000000000000000 (/ (pow (exp z) 3) (* x (pow y 3)))) (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (pow y 2)))) x)) (* 5641895835477563/5000000000000000 (/ (exp z) y))) x))) x))
(+ x (* 5000000000000000/5641895835477563 (/ y (exp z))))
(+ x (* y (+ (* 25000000000000000000000000000000/31830988618379068626528276418969 (/ (* x y) (pow (exp z) 2))) (* 5000000000000000/5641895835477563 (/ 1 (exp z))))))
(+ x (* y (+ (* y (- (* 125000000000000000000000000000000000000000000000/179587122125166574152748016388400639365587092547 (/ (* (pow x 2) y) (pow (exp z) 3))) (* -25000000000000000000000000000000/31830988618379068626528276418969 (/ x (pow (exp z) 2))))) (* 5000000000000000/5641895835477563 (/ 1 (exp z))))))
(* y (+ (* 25000000000000000000000000000000/31830988618379068626528276418969 (/ (* x y) (pow (exp z) 2))) (* 5000000000000000/5641895835477563 (/ 1 (exp z)))))
(* y (+ (* y (- (* 125000000000000000000000000000000000000000000000/179587122125166574152748016388400639365587092547 (/ (* (pow x 2) y) (pow (exp z) 3))) (* -25000000000000000000000000000000/31830988618379068626528276418969 (/ x (pow (exp z) 2))))) (* 5000000000000000/5641895835477563 (/ 1 (exp z)))))
(* y (+ (* y (- (* y (- (* 625000000000000000000000000000000000000000000000000000000000000/1013211836423377808197068612118338110498536634308026710423022961 (/ (* (pow x 3) y) (pow (exp z) 4))) (* -125000000000000000000000000000000000000000000000/179587122125166574152748016388400639365587092547 (/ (pow x 2) (pow (exp z) 3))))) (* -25000000000000000000000000000000/31830988618379068626528276418969 (/ x (pow (exp z) 2))))) (* 5000000000000000/5641895835477563 (/ 1 (exp z)))))
(- x (/ 1 x))
(- (+ x (* -5641895835477563/5000000000000000 (/ (exp z) (* (pow x 2) y)))) (/ 1 x))
(- (+ x (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (* (pow x 3) (pow y 2))))) (+ (* 5641895835477563/5000000000000000 (/ (exp z) (* (pow x 2) y))) (/ 1 x)))
(- (+ x (* -179587122125166574152748016388400639365587092547/125000000000000000000000000000000000000000000000 (/ (pow (exp z) 3) (* (pow x 4) (pow y 3))))) (+ (* 5641895835477563/5000000000000000 (/ (exp z) (* (pow x 2) y))) (+ (* 31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (* (pow x 3) (pow y 2)))) (/ 1 x))))
(* y (- (* 5641895835477563/5000000000000000 (/ (exp z) y)) x))
(- (* -5641895835477563/5000000000000000 (/ (exp z) (* (pow x 2) y))) (/ 1 x))
(- (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (* (pow x 3) (pow y 2)))) (+ (* 5641895835477563/5000000000000000 (/ (exp z) (* (pow x 2) y))) (/ 1 x)))
(- (* -179587122125166574152748016388400639365587092547/125000000000000000000000000000000000000000000000 (/ (pow (exp z) 3) (* (pow x 4) (pow y 3)))) (+ (* 5641895835477563/5000000000000000 (/ (exp z) (* (pow x 2) y))) (+ (* 31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (* (pow x 3) (pow y 2)))) (/ 1 x))))
(- (+ x (* -1 (/ (+ (* 5641895835477563/5000000000000000 (/ (exp z) (pow x 2))) (* 31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (* (pow x 3) y)))) y))) (/ 1 x))
(- (+ x (* -1 (/ (+ (* -1 (/ (+ (* -179587122125166574152748016388400639365587092547/125000000000000000000000000000000000000000000000 (/ (pow (exp z) 3) (* (pow x 4) y))) (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (pow x 3)))) y)) (* 5641895835477563/5000000000000000 (/ (exp z) (pow x 2)))) y))) (/ 1 x))
(* -1 (* y (- (* -5641895835477563/5000000000000000 (/ (exp z) y)) (* -1 x))))
(- (* -1 (/ (- (* 31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (* (pow x 3) y))) (* -5641895835477563/5000000000000000 (/ (exp z) (pow x 2)))) y)) (/ 1 x))
(- (* -1 (/ (- (* -1 (/ (- (* -179587122125166574152748016388400639365587092547/125000000000000000000000000000000000000000000000 (/ (pow (exp z) 3) (* (pow x 4) y))) (* 31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (pow x 3)))) y)) (* -5641895835477563/5000000000000000 (/ (exp z) (pow x 2)))) y)) (/ 1 x))
(+ x (/ y (- 5641895835477563/5000000000000000 (* x y))))
(+ x (+ (* -5641895835477563/5000000000000000 (/ (* y z) (pow (- 5641895835477563/5000000000000000 (* x y)) 2))) (/ y (- 5641895835477563/5000000000000000 (* x y)))))
(+ x (+ (* z (- (* -1 (* z (+ (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 3))) (* 5641895835477563/10000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 2)))))) (* 5641895835477563/5000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 2))))) (/ y (- 5641895835477563/5000000000000000 (* x y)))))
(+ x (+ (* z (- (* z (- (* -1 (* z (+ (* -5641895835477563/5000000000000000 (/ (+ (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 3))) (* 5641895835477563/10000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 2)))) (- 5641895835477563/5000000000000000 (* x y)))) (+ (* -31830988618379068626528276418969/50000000000000000000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 3))) (* 5641895835477563/30000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 2))))))) (+ (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 3))) (* 5641895835477563/10000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 2)))))) (* 5641895835477563/5000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 2))))) (/ y (- 5641895835477563/5000000000000000 (* x y)))))
5641895835477563/5000000000000000
(+ 5641895835477563/5000000000000000 (* 5641895835477563/5000000000000000 z))
(+ 5641895835477563/5000000000000000 (* z (+ 5641895835477563/5000000000000000 (* 5641895835477563/10000000000000000 z))))
(+ 5641895835477563/5000000000000000 (* z (+ 5641895835477563/5000000000000000 (* z (+ 5641895835477563/10000000000000000 (* 5641895835477563/30000000000000000 z))))))
1
(+ 1 z)
(+ 1 (* z (+ 1 (* 1/2 z))))
(+ 1 (* z (+ 1 (* z (+ 1/2 (* 1/6 z))))))
(- 5641895835477563/5000000000000000 (* x y))
(- (+ 5641895835477563/5000000000000000 (* 5641895835477563/5000000000000000 z)) (* x y))
(- (+ 5641895835477563/5000000000000000 (* z (+ 5641895835477563/5000000000000000 (* 5641895835477563/10000000000000000 z)))) (* x y))
(- (+ 5641895835477563/5000000000000000 (* z (+ 5641895835477563/5000000000000000 (* z (+ 5641895835477563/10000000000000000 (* 5641895835477563/30000000000000000 z)))))) (* x y))
(/ y (- 5641895835477563/5000000000000000 (* x y)))
(+ (* -5641895835477563/5000000000000000 (/ (* y z) (pow (- 5641895835477563/5000000000000000 (* x y)) 2))) (/ y (- 5641895835477563/5000000000000000 (* x y))))
(+ (* z (- (* -1 (* z (+ (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 3))) (* 5641895835477563/10000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 2)))))) (* 5641895835477563/5000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 2))))) (/ y (- 5641895835477563/5000000000000000 (* x y))))
(+ (* z (- (* z (- (* -1 (* z (+ (* -5641895835477563/5000000000000000 (/ (+ (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 3))) (* 5641895835477563/10000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 2)))) (- 5641895835477563/5000000000000000 (* x y)))) (+ (* -31830988618379068626528276418969/50000000000000000000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 3))) (* 5641895835477563/30000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 2))))))) (+ (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 3))) (* 5641895835477563/10000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 2)))))) (* 5641895835477563/5000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 2))))) (/ y (- 5641895835477563/5000000000000000 (* x y))))
(+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y))))
(exp z)
(- (* 5641895835477563/5000000000000000 (exp z)) (* x y))
(/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))
Outputs
(* 5000000000000000/5641895835477563 (/ y (exp z)))
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)))
(+ (* 5000000000000000/5641895835477563 (/ y (exp z))) (* x (- 1 (* -25000000000000000000000000000000/31830988618379068626528276418969 (/ (pow y 2) (pow (exp z) 2))))))
(*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z))
(+ (* 5000000000000000/5641895835477563 (/ y (exp z))) (* x (- (+ 1 (* 125000000000000000000000000000000000000000000000/179587122125166574152748016388400639365587092547 (/ (* x (pow y 3)) (pow (exp z) 3)))) (* -25000000000000000000000000000000/31830988618379068626528276418969 (/ (pow y 2) (pow (exp z) 2))))))
(exp.f64 z)
(+ (* 5000000000000000/5641895835477563 (/ y (exp z))) (* x (- (+ 1 (* x (- (* 625000000000000000000000000000000000000000000000000000000000000/1013211836423377808197068612118338110498536634308026710423022961 (/ (* x (pow y 4)) (pow (exp z) 4))) (* -125000000000000000000000000000000000000000000000/179587122125166574152748016388400639365587092547 (/ (pow y 3) (pow (exp z) 3)))))) (* -25000000000000000000000000000000/31830988618379068626528276418969 (/ (pow y 2) (pow (exp z) 2))))))
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y)))
(* 5641895835477563/5000000000000000 (exp z))
(-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))
(+ (* -1 (* x y)) (* 5641895835477563/5000000000000000 (exp z)))
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (/.f64 y (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))))
(+ (* 25000000000000000000000000000000/31830988618379068626528276418969 (/ (* x (pow y 2)) (pow (exp z) 2))) (* 5000000000000000/5641895835477563 (/ y (exp z))))
(/.f64 y (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y)))

rewrite0.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated
Counts
7 → 7
Calls
Call 1
Inputs
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)))
(*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z))
(exp.f64 z)
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y)))
(-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (/.f64 y (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))))
(/.f64 y (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y)))
Outputs
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)))
(*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z))
(exp.f64 z)
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y)))
(-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (/.f64 y (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))))
(/.f64 y (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y)))

eval2.0ms (0.1%)

Memory
5.1MiB live, 5.1MiB allocated
Compiler

Compiled 517 to 32 computations (93.8% saved)

prune4.0ms (0.3%)

Memory
8.4MiB live, 8.4MiB allocated
Pruning

5 alts after pruning (1 fresh and 4 done)

PrunedKeptTotal
New19120
Fresh000
Picked033
Done011
Total19524
Accuracy
96.7%
Counts
24 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
96.6%
(+.f64 x (/.f64 y (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))))
29.4%
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (/.f64 y (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))))
3.0%
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y)))
2.7%
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)))
2.7%
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (exp.f64 z))
Compiler

Compiled 88 to 69 computations (21.6% saved)

simplify0.0ms (0%)

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

Found 2 expressions of interest:

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

localize28.0ms (1.9%)

Memory
-20.6MiB live, 56.3MiB allocated
Localize:

Found 2 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(exp.f64 z)
accuracy62.26199857582205
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (exp.f64 z))
Samples
23.0ms256×0valid
Compiler

Compiled 35 to 24 computations (31.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 16.0ms
const: 4.0ms (25.1% of total)
ival-sub: 3.0ms (18.8% of total)
ival-mult: 3.0ms (18.8% of total)
ival-div: 2.0ms (12.5% of total)
ival-exp: 2.0ms (12.5% of total)
ival-add: 1.0ms (6.3% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series2.0ms (0.2%)

Memory
6.1MiB live, 6.1MiB allocated
Counts
2 → 30
Calls
Call 1
Inputs
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (exp.f64 z))
(exp.f64 z)
Outputs
(* 5000000000000000/5641895835477563 (/ y (exp z)))
(+ (* 5000000000000000/5641895835477563 (/ y (exp z))) (* x (- 1 (* -25000000000000000000000000000000/31830988618379068626528276418969 (/ (pow y 2) (pow (exp z) 2))))))
(+ (* 5000000000000000/5641895835477563 (/ y (exp z))) (* x (- (+ 1 (* 125000000000000000000000000000000000000000000000/179587122125166574152748016388400639365587092547 (/ (* x (pow y 3)) (pow (exp z) 3)))) (* -25000000000000000000000000000000/31830988618379068626528276418969 (/ (pow y 2) (pow (exp z) 2))))))
(+ (* 5000000000000000/5641895835477563 (/ y (exp z))) (* x (- (+ 1 (* x (- (* 625000000000000000000000000000000000000000000000000000000000000/1013211836423377808197068612118338110498536634308026710423022961 (/ (* x (pow y 4)) (pow (exp z) 4))) (* -125000000000000000000000000000000000000000000000/179587122125166574152748016388400639365587092547 (/ (pow y 3) (pow (exp z) 3)))))) (* -25000000000000000000000000000000/31830988618379068626528276418969 (/ (pow y 2) (pow (exp z) 2))))))
x
(* x (- 1 (/ 1 (pow x 2))))
(* x (- (+ 1 (* -5641895835477563/5000000000000000 (/ (exp z) (* (pow x 3) y)))) (/ 1 (pow x 2))))
(* x (- (+ 1 (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (* (pow x 4) (pow y 2))))) (+ (* 5641895835477563/5000000000000000 (/ (exp z) (* (pow x 3) y))) (/ 1 (pow x 2)))))
(* -1 (* x (- (/ 1 (pow x 2)) 1)))
(* -1 (* x (- (+ (* 5641895835477563/5000000000000000 (/ (exp z) (* (pow x 3) y))) (/ 1 (pow x 2))) 1)))
(* -1 (* x (- (+ (* -1 (/ (- (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (* x (pow y 2)))) (* 5641895835477563/5000000000000000 (/ (exp z) y))) (pow x 3))) (/ 1 (pow x 2))) 1)))
(+ x (* 5000000000000000/5641895835477563 (/ y (exp z))))
(+ x (* y (+ (* 25000000000000000000000000000000/31830988618379068626528276418969 (/ (* x y) (pow (exp z) 2))) (* 5000000000000000/5641895835477563 (/ 1 (exp z))))))
(+ x (* y (+ (* y (- (* 125000000000000000000000000000000000000000000000/179587122125166574152748016388400639365587092547 (/ (* (pow x 2) y) (pow (exp z) 3))) (* -25000000000000000000000000000000/31830988618379068626528276418969 (/ x (pow (exp z) 2))))) (* 5000000000000000/5641895835477563 (/ 1 (exp z))))))
(- x (/ 1 x))
(- (+ x (* -5641895835477563/5000000000000000 (/ (exp z) (* (pow x 2) y)))) (/ 1 x))
(- (+ x (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (* (pow x 3) (pow y 2))))) (+ (* 5641895835477563/5000000000000000 (/ (exp z) (* (pow x 2) y))) (/ 1 x)))
(- (+ x (* -179587122125166574152748016388400639365587092547/125000000000000000000000000000000000000000000000 (/ (pow (exp z) 3) (* (pow x 4) (pow y 3))))) (+ (* 5641895835477563/5000000000000000 (/ (exp z) (* (pow x 2) y))) (+ (* 31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (* (pow x 3) (pow y 2)))) (/ 1 x))))
(- (+ x (* -1 (/ (+ (* 5641895835477563/5000000000000000 (/ (exp z) (pow x 2))) (* 31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (* (pow x 3) y)))) y))) (/ 1 x))
(- (+ x (* -1 (/ (+ (* -1 (/ (+ (* -179587122125166574152748016388400639365587092547/125000000000000000000000000000000000000000000000 (/ (pow (exp z) 3) (* (pow x 4) y))) (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (pow x 3)))) y)) (* 5641895835477563/5000000000000000 (/ (exp z) (pow x 2)))) y))) (/ 1 x))
(+ x (/ y (- 5641895835477563/5000000000000000 (* x y))))
(+ x (+ (* -5641895835477563/5000000000000000 (/ (* y z) (pow (- 5641895835477563/5000000000000000 (* x y)) 2))) (/ y (- 5641895835477563/5000000000000000 (* x y)))))
(+ x (+ (* z (- (* -1 (* z (+ (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 3))) (* 5641895835477563/10000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 2)))))) (* 5641895835477563/5000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 2))))) (/ y (- 5641895835477563/5000000000000000 (* x y)))))
(+ x (+ (* z (- (* z (- (* -1 (* z (+ (* -5641895835477563/5000000000000000 (/ (+ (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 3))) (* 5641895835477563/10000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 2)))) (- 5641895835477563/5000000000000000 (* x y)))) (+ (* -31830988618379068626528276418969/50000000000000000000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 3))) (* 5641895835477563/30000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 2))))))) (+ (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 3))) (* 5641895835477563/10000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 2)))))) (* 5641895835477563/5000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 2))))) (/ y (- 5641895835477563/5000000000000000 (* x y)))))
1
(+ 1 z)
(+ 1 (* z (+ 1 (* 1/2 z))))
(+ 1 (* z (+ 1 (* z (+ 1/2 (* 1/6 z))))))
(+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y))))
(exp z)
Calls

9 calls:

TimeVariablePointExpression
1.0ms
z
@inf
((+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (exp z))
0.0ms
z
@-inf
((+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (exp z))
0.0ms
z
@0
((+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (exp z))
0.0ms
x
@0
((+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (exp z))
0.0ms
y
@-inf
((+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (exp z))

simplify1.0ms (0%)

Memory
2.0MiB live, 2.0MiB allocated
Algorithm
egg-herbie
Counts
30 → 2
Calls
Call 1
Inputs
(* 5000000000000000/5641895835477563 (/ y (exp z)))
(+ (* 5000000000000000/5641895835477563 (/ y (exp z))) (* x (- 1 (* -25000000000000000000000000000000/31830988618379068626528276418969 (/ (pow y 2) (pow (exp z) 2))))))
(+ (* 5000000000000000/5641895835477563 (/ y (exp z))) (* x (- (+ 1 (* 125000000000000000000000000000000000000000000000/179587122125166574152748016388400639365587092547 (/ (* x (pow y 3)) (pow (exp z) 3)))) (* -25000000000000000000000000000000/31830988618379068626528276418969 (/ (pow y 2) (pow (exp z) 2))))))
(+ (* 5000000000000000/5641895835477563 (/ y (exp z))) (* x (- (+ 1 (* x (- (* 625000000000000000000000000000000000000000000000000000000000000/1013211836423377808197068612118338110498536634308026710423022961 (/ (* x (pow y 4)) (pow (exp z) 4))) (* -125000000000000000000000000000000000000000000000/179587122125166574152748016388400639365587092547 (/ (pow y 3) (pow (exp z) 3)))))) (* -25000000000000000000000000000000/31830988618379068626528276418969 (/ (pow y 2) (pow (exp z) 2))))))
x
(* x (- 1 (/ 1 (pow x 2))))
(* x (- (+ 1 (* -5641895835477563/5000000000000000 (/ (exp z) (* (pow x 3) y)))) (/ 1 (pow x 2))))
(* x (- (+ 1 (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (* (pow x 4) (pow y 2))))) (+ (* 5641895835477563/5000000000000000 (/ (exp z) (* (pow x 3) y))) (/ 1 (pow x 2)))))
(* -1 (* x (- (/ 1 (pow x 2)) 1)))
(* -1 (* x (- (+ (* 5641895835477563/5000000000000000 (/ (exp z) (* (pow x 3) y))) (/ 1 (pow x 2))) 1)))
(* -1 (* x (- (+ (* -1 (/ (- (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (* x (pow y 2)))) (* 5641895835477563/5000000000000000 (/ (exp z) y))) (pow x 3))) (/ 1 (pow x 2))) 1)))
(+ x (* 5000000000000000/5641895835477563 (/ y (exp z))))
(+ x (* y (+ (* 25000000000000000000000000000000/31830988618379068626528276418969 (/ (* x y) (pow (exp z) 2))) (* 5000000000000000/5641895835477563 (/ 1 (exp z))))))
(+ x (* y (+ (* y (- (* 125000000000000000000000000000000000000000000000/179587122125166574152748016388400639365587092547 (/ (* (pow x 2) y) (pow (exp z) 3))) (* -25000000000000000000000000000000/31830988618379068626528276418969 (/ x (pow (exp z) 2))))) (* 5000000000000000/5641895835477563 (/ 1 (exp z))))))
(- x (/ 1 x))
(- (+ x (* -5641895835477563/5000000000000000 (/ (exp z) (* (pow x 2) y)))) (/ 1 x))
(- (+ x (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (* (pow x 3) (pow y 2))))) (+ (* 5641895835477563/5000000000000000 (/ (exp z) (* (pow x 2) y))) (/ 1 x)))
(- (+ x (* -179587122125166574152748016388400639365587092547/125000000000000000000000000000000000000000000000 (/ (pow (exp z) 3) (* (pow x 4) (pow y 3))))) (+ (* 5641895835477563/5000000000000000 (/ (exp z) (* (pow x 2) y))) (+ (* 31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (* (pow x 3) (pow y 2)))) (/ 1 x))))
(- (+ x (* -1 (/ (+ (* 5641895835477563/5000000000000000 (/ (exp z) (pow x 2))) (* 31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (* (pow x 3) y)))) y))) (/ 1 x))
(- (+ x (* -1 (/ (+ (* -1 (/ (+ (* -179587122125166574152748016388400639365587092547/125000000000000000000000000000000000000000000000 (/ (pow (exp z) 3) (* (pow x 4) y))) (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ (pow (exp z) 2) (pow x 3)))) y)) (* 5641895835477563/5000000000000000 (/ (exp z) (pow x 2)))) y))) (/ 1 x))
(+ x (/ y (- 5641895835477563/5000000000000000 (* x y))))
(+ x (+ (* -5641895835477563/5000000000000000 (/ (* y z) (pow (- 5641895835477563/5000000000000000 (* x y)) 2))) (/ y (- 5641895835477563/5000000000000000 (* x y)))))
(+ x (+ (* z (- (* -1 (* z (+ (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 3))) (* 5641895835477563/10000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 2)))))) (* 5641895835477563/5000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 2))))) (/ y (- 5641895835477563/5000000000000000 (* x y)))))
(+ x (+ (* z (- (* z (- (* -1 (* z (+ (* -5641895835477563/5000000000000000 (/ (+ (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 3))) (* 5641895835477563/10000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 2)))) (- 5641895835477563/5000000000000000 (* x y)))) (+ (* -31830988618379068626528276418969/50000000000000000000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 3))) (* 5641895835477563/30000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 2))))))) (+ (* -31830988618379068626528276418969/25000000000000000000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 3))) (* 5641895835477563/10000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 2)))))) (* 5641895835477563/5000000000000000 (/ y (pow (- 5641895835477563/5000000000000000 (* x y)) 2))))) (/ y (- 5641895835477563/5000000000000000 (* x y)))))
1
(+ 1 z)
(+ 1 (* z (+ 1 (* 1/2 z))))
(+ 1 (* z (+ 1 (* z (+ 1/2 (* 1/6 z))))))
(+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y))))
(exp z)
Outputs
(* 5000000000000000/5641895835477563 (/ y (exp z)))
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (exp.f64 z))
(+ (* 5000000000000000/5641895835477563 (/ y (exp z))) (* x (- 1 (* -25000000000000000000000000000000/31830988618379068626528276418969 (/ (pow y 2) (pow (exp z) 2))))))
(exp.f64 z)

rewrite0.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated
Counts
2 → 2
Calls
Call 1
Inputs
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (exp.f64 z))
(exp.f64 z)
Outputs
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (exp.f64 z))
(exp.f64 z)

eval0.0ms (0%)

Memory
1.1MiB live, 1.1MiB allocated
Compiler

Compiled 58 to 13 computations (77.6% saved)

prune3.0ms (0.2%)

Memory
7.1MiB live, 7.1MiB allocated
Pruning

5 alts after pruning (0 fresh and 5 done)

PrunedKeptTotal
New303
Fresh000
Picked011
Done044
Total358
Accuracy
96.7%
Counts
8 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
96.6%
(+.f64 x (/.f64 y (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))))
29.4%
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (/.f64 y (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))))
3.0%
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y)))
2.7%
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)))
2.7%
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (exp.f64 z))
Compiler

Compiled 176 to 90 computations (48.9% saved)

regimes20.0ms (1.3%)

Memory
-13.5MiB live, 27.3MiB allocated
Counts
5 → 1
Calls
Call 1
Inputs
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (exp.f64 z))
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)))
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y)))
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (/.f64 y (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))))
(+.f64 x (/.f64 y (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))))
Outputs
(+.f64 x (/.f64 y (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))))
Calls

6 calls:

8.0ms
z
3.0ms
(+.f64 x (/.f64 y (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))))
2.0ms
y
2.0ms
x
2.0ms
(exp.f64 z)
Results
AccuracySegmentsBranch
96.6%1x
96.6%1y
96.6%1z
96.6%1(+.f64 x (/.f64 y (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))))
96.6%1(*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z))
96.6%1(exp.f64 z)
Compiler

Compiled 21 to 29 computations (-38.1% saved)

regimes12.0ms (0.8%)

Memory
22.9MiB live, 22.9MiB allocated
Counts
4 → 1
Calls
Call 1
Inputs
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (exp.f64 z))
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)))
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y)))
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (/.f64 y (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))))
Outputs
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (/.f64 y (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))))
Calls

6 calls:

2.0ms
(+.f64 x (/.f64 y (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))))
2.0ms
y
2.0ms
z
2.0ms
x
2.0ms
(*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z))
Results
AccuracySegmentsBranch
29.4%1x
29.4%1y
29.4%1z
29.4%1(+.f64 x (/.f64 y (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))))
29.4%1(*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z))
29.4%1(exp.f64 z)
Compiler

Compiled 21 to 29 computations (-38.1% saved)

regimes12.0ms (0.8%)

Memory
-19.8MiB live, 19.1MiB allocated
Counts
3 → 1
Calls
Call 1
Inputs
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (exp.f64 z))
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)))
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y)))
Outputs
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y)))
Calls

6 calls:

3.0ms
(exp.f64 z)
2.0ms
(+.f64 x (/.f64 y (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))))
2.0ms
y
2.0ms
z
2.0ms
x
Results
AccuracySegmentsBranch
3.0%1x
3.0%1(+.f64 x (/.f64 y (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))))
3.0%1z
3.0%1(*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z))
3.0%1(exp.f64 z)
3.0%1y
Compiler

Compiled 21 to 29 computations (-38.1% saved)

regimes9.0ms (0.6%)

Memory
16.4MiB live, 16.4MiB allocated
Counts
2 → 1
Calls
Call 1
Inputs
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (exp.f64 z))
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)))
Outputs
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)))
Calls

6 calls:

1.0ms
(+.f64 x (/.f64 y (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))))
1.0ms
z
1.0ms
y
1.0ms
x
1.0ms
(*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z))
Results
AccuracySegmentsBranch
2.7%1x
2.7%1y
2.7%1(+.f64 x (/.f64 y (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))))
2.7%1z
2.7%1(*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z))
2.7%1(exp.f64 z)
Compiler

Compiled 21 to 29 computations (-38.1% saved)

regimes10.0ms (0.6%)

Memory
-23.2MiB live, 14.7MiB allocated
Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

Counts
1 → 1
Calls
Call 1
Inputs
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (exp.f64 z))
Outputs
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (exp.f64 z))
Calls

6 calls:

4.0ms
(*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z))
1.0ms
(+.f64 x (/.f64 y (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))))
1.0ms
y
1.0ms
z
1.0ms
x
Results
AccuracySegmentsBranch
2.7%1y
2.7%1(+.f64 x (/.f64 y (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))))
2.7%1(*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z))
2.7%1(exp.f64 z)
2.7%1x
2.7%1z
Compiler

Compiled 21 to 29 computations (-38.1% saved)

simplify4.0ms (0.3%)

Memory
8.2MiB live, 8.2MiB allocated
Algorithm
egg-herbie
Calls
Call 1
Inputs
(+.f64 x (/.f64 y (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))))
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (/.f64 y (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))))
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y)))
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)))
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (exp.f64 z))
Outputs
(+.f64 x (/.f64 y (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))))
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (/.f64 y (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y))))
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (-.f64 (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)) (*.f64 x y)))
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (*.f64 #s(literal 5641895835477563/5000000000000000 binary64) (exp.f64 z)))
#s(approx (+ x (/ y (- (* 5641895835477563/5000000000000000 (exp z)) (* x y)))) (exp.f64 z))

soundness1.0ms (0.1%)

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

Compiled 88 to 21 computations (76.1% saved)

preprocess41.0ms (2.7%)

Memory
23.9MiB live, 61.3MiB allocated
Compiler

Compiled 224 to 84 computations (62.5% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...