NMSE Section 6.1 mentioned, A

Time bar (total: 3.0s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated

analyze30.0ms (1%)

Memory
8.2MiB live, 46.5MiB 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
50%50%50%0.1%0%0%0%3
50%50%50%0.1%0%0%0%4
75%74.9%25%0.1%0%0%0%5
75%74.9%25%0.1%0%0%0%6
87.5%87.4%12.5%0.1%0%0%0%7
87.5%87.4%12.5%0.1%0%0%0%8
93.7%92.5%6.2%0.1%0%1.2%0%9
93.7%92.5%6.2%0.1%0%1.2%0%10
96.8%94.9%3.1%0.1%0%1.9%0%11
96.8%94.9%3.1%0.1%0%1.9%0%12
Compiler

Compiled 31 to 21 computations (32.3% saved)

sample2.1s (68.7%)

Memory
31.9MiB live, 3 199.4MiB allocated
Samples
752.0ms2 220×1valid
711.0ms6 035×0valid
116.0ms983×0exit
3.0ms17×1exit
1.0ms2valid
Precisions
Click to see histograms. Total time spent on operations: 1.3s
ival-exp: 328.0ms (25.2% of total)
ival-mult: 270.0ms (20.8% of total)
ival-div: 180.0ms (13.8% of total)
ival-sub: 165.0ms (12.7% of total)
ival-add: 119.0ms (9.1% of total)
adjust: 115.0ms (8.8% of total)
ival-neg: 102.0ms (7.8% of total)
exact: 10.0ms (0.8% of total)
ival-true: 7.0ms (0.5% of total)
ival-assert: 4.0ms (0.3% of total)
Bogosity

explain278.0ms (9.2%)

Memory
-17.1MiB live, 467.3MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
663(3.37326855806144e-270 9.323808521702743e-11)0-(-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
00-0-(/.f64 (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))) #s(literal 2 binary64))
01(255.02386197630298 -1.926576232813008e-252)0-(exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))
00-0-(+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps))
00-0-#s(literal 1 binary64)
00-0-(*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))
00-0-(-.f64 #s(literal 1 binary64) eps)
00-0-(+.f64 #s(literal 1 binary64) eps)
00-0-(*.f64 (-.f64 #s(literal 1 binary64) eps) x)
00-0-(/.f64 #s(literal 1 binary64) eps)
00-0-eps
00-0-(neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))
00-0-(-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64))
00-0-(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))))
00-0-(neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))
00-0-#s(literal 2 binary64)
00-0-(*.f64 (+.f64 #s(literal 1 binary64) eps) x)
01(255.02386197630298 -1.926576232813008e-252)0-(exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))
00-0-x
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
-.f64(-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))cancellation690
exp.f64(exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))sensitivity10
exp.f64(exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))sensitivity10
Confusion
Predicted +Predicted -
+660
-3187
Precision
0.9565217391304348
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+6600
-30187
Precision?
0.9565217391304348
Recall?
1.0
Freqs
test
numberfreq
0187
168
31
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
56.0ms132×1valid
50.0ms380×0valid
Compiler

Compiled 456 to 80 computations (82.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 81.0ms
ival-exp: 22.0ms (27% of total)
ival-mult: 16.0ms (19.7% of total)
ival-div: 13.0ms (16% of total)
ival-sub: 9.0ms (11.1% of total)
ival-add: 8.0ms (9.8% of total)
ival-neg: 7.0ms (8.6% of total)
adjust: 5.0ms (6.1% of total)
exact: 1.0ms (1.2% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

preprocess3.0ms (0.1%)

Memory
6.2MiB live, 6.2MiB allocated
Algorithm
egg-herbie
Calls
Call 1
Inputs
(/.f64 (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))) #s(literal 2 binary64))
Outputs
(/.f64 (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))) #s(literal 2 binary64))
Compiler

Compiled 29 to 19 computations (34.5% saved)

eval0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated
Compiler

Compiled 0 to 2 computations (-∞% saved)

prune1.0ms (0%)

Memory
1.1MiB live, 1.1MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
75.0%
(/.f64 (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))) #s(literal 2 binary64))
Compiler

Compiled 29 to 19 computations (34.5% saved)

simplify1.0ms (0%)

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

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps))
cost-diff0
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))))
cost-diff0
(-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
cost-diff0
(/.f64 (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))) #s(literal 2 binary64))
Calls
Call 1
Inputs
(/.f64 (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))) #s(literal 2 binary64))
(-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))))
(+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps))
#s(literal 1 binary64)
(/.f64 #s(literal 1 binary64) eps)
eps
(exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))
(neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))
(*.f64 (-.f64 #s(literal 1 binary64) eps) x)
(-.f64 #s(literal 1 binary64) eps)
x
(*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))
(-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64))
(exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))
(neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))
(*.f64 (+.f64 #s(literal 1 binary64) eps) x)
(+.f64 #s(literal 1 binary64) eps)
#s(literal 2 binary64)
Outputs
(/.f64 (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))) #s(literal 2 binary64))
(-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))))
(+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps))
#s(literal 1 binary64)
(/.f64 #s(literal 1 binary64) eps)
eps
(exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))
(neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))
(*.f64 (-.f64 #s(literal 1 binary64) eps) x)
(-.f64 #s(literal 1 binary64) eps)
x
(*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))
(-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64))
(exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))
(neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))
(*.f64 (+.f64 #s(literal 1 binary64) eps) x)
(+.f64 #s(literal 1 binary64) eps)
#s(literal 2 binary64)

localize67.0ms (2.2%)

Memory
-1.0MiB live, 114.9MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.00390625
(*.f64 (+.f64 #s(literal 1 binary64) eps) x)
accuracy0.01171875
(*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))
accuracy0.01171875
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))))
accuracy15.985928671562753
(-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
Samples
27.0ms66×1valid
25.0ms190×0valid
Compiler

Compiled 284 to 40 computations (85.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 40.0ms
ival-mult: 11.0ms (27.3% of total)
ival-exp: 9.0ms (22.3% of total)
ival-div: 5.0ms (12.4% of total)
adjust: 5.0ms (12.4% of total)
ival-sub: 4.0ms (9.9% of total)
ival-add: 3.0ms (7.4% of total)
ival-neg: 3.0ms (7.4% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series18.0ms (0.6%)

Memory
-10.3MiB live, 27.7MiB allocated
Counts
6 → 63
Calls
Call 1
Inputs
(/.f64 (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))) #s(literal 2 binary64))
(-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))))
(+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps))
(*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))
(*.f64 (+.f64 #s(literal 1 binary64) eps) x)
Outputs
1
(+ 1 (* 1/2 (* x (- (* (+ 1 (/ 1 eps)) (- eps 1)) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1)))))))
(+ 1 (* x (+ (* 1/2 (* x (- (* 1/2 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2))) (* 1/2 (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1)))))) (* 1/2 (- (* (+ 1 (/ 1 eps)) (- eps 1)) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))))))))
(+ 1 (* x (+ (* 1/2 (- (* (+ 1 (/ 1 eps)) (- eps 1)) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))))) (* x (+ (* 1/2 (* x (- (* 1/6 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 3))) (* -1/6 (* (pow (+ 1 eps) 3) (- (/ 1 eps) 1)))))) (* 1/2 (- (* 1/2 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2))) (* 1/2 (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1))))))))))
2
(+ 2 (* x (- (* (+ 1 (/ 1 eps)) (- eps 1)) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))))))
(+ 2 (* x (- (+ (* x (- (* 1/2 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2))) (* 1/2 (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1))))) (* (+ 1 (/ 1 eps)) (- eps 1))) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))))))
(+ 2 (* x (- (+ (* x (- (+ (* 1/2 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2))) (* x (- (* 1/6 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 3))) (* -1/6 (* (pow (+ 1 eps) 3) (- (/ 1 eps) 1)))))) (* 1/2 (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1))))) (* (+ 1 (/ 1 eps)) (- eps 1))) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))))))
(+ 1 (/ 1 eps))
(+ 1 (+ (* x (* (+ 1 (/ 1 eps)) (- eps 1))) (/ 1 eps)))
(+ 1 (+ (* x (+ (* 1/2 (* x (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2)))) (* (+ 1 (/ 1 eps)) (- eps 1)))) (/ 1 eps)))
(+ 1 (+ (* x (+ (* x (+ (* 1/6 (* x (* (+ 1 (/ 1 eps)) (pow (- eps 1) 3)))) (* 1/2 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2))))) (* (+ 1 (/ 1 eps)) (- eps 1)))) (/ 1 eps)))
(- (/ 1 eps) 1)
(- (+ (* -1 (* x (* (+ 1 eps) (- (/ 1 eps) 1)))) (/ 1 eps)) 1)
(- (+ (* x (+ (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))) (* 1/2 (* x (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1)))))) (/ 1 eps)) 1)
(- (+ (* x (+ (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))) (* x (+ (* -1/6 (* x (* (pow (+ 1 eps) 3) (- (/ 1 eps) 1)))) (* 1/2 (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1))))))) (/ 1 eps)) 1)
(* x (+ 1 eps))
(* 1/2 (- (* (exp (- (* eps x) x)) (+ 1 (/ 1 eps))) (* (exp (neg (+ x (* eps x)))) (- (/ 1 eps) 1))))
(- (* (exp (- (* eps x) x)) (+ 1 (/ 1 eps))) (* (exp (neg (+ x (* eps x)))) (- (/ 1 eps) 1)))
(* (exp (- (* eps x) x)) (+ 1 (/ 1 eps)))
(* (exp (neg (+ x (* eps x)))) (- (/ 1 eps) 1))
(* 1/2 (- (* (exp (neg (* x (- 1 eps)))) (+ 1 (/ 1 eps))) (* (exp (neg (* x (+ 1 eps)))) (- (/ 1 eps) 1))))
(- (* (exp (neg (* x (- 1 eps)))) (+ 1 (/ 1 eps))) (* (exp (neg (* x (+ 1 eps)))) (- (/ 1 eps) 1)))
(* (exp (neg (* x (- 1 eps)))) (+ 1 (/ 1 eps)))
(* (exp (neg (* x (+ 1 eps)))) (- (/ 1 eps) 1))
(* 1/2 (- (+ (exp (neg x)) (* x (exp (neg x)))) (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x)))))))
(+ (* 1/2 (* (pow eps 2) (- (+ (* 1/6 (* (pow x 3) (exp (neg x)))) (* 1/2 (* (pow x 2) (exp (neg x))))) (+ (* -1/2 (* (pow x 2) (exp (neg x)))) (* -1/6 (* (pow x 3) (exp (neg x)))))))) (* 1/2 (- (+ (exp (neg x)) (* x (exp (neg x)))) (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x))))))))
(+ (* 1/2 (- (+ (exp (neg x)) (* x (exp (neg x)))) (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x))))))) (* (pow eps 2) (+ (* 1/2 (* (pow eps 2) (- (+ (* 1/120 (* (pow x 5) (exp (neg x)))) (* 1/24 (* (pow x 4) (exp (neg x))))) (+ (* -1/24 (* (pow x 4) (exp (neg x)))) (* -1/120 (* (pow x 5) (exp (neg x)))))))) (* 1/2 (- (+ (* 1/6 (* (pow x 3) (exp (neg x)))) (* 1/2 (* (pow x 2) (exp (neg x))))) (+ (* -1/2 (* (pow x 2) (exp (neg x)))) (* -1/6 (* (pow x 3) (exp (neg x))))))))))
(+ (* 1/2 (- (+ (exp (neg x)) (* x (exp (neg x)))) (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x))))))) (* (pow eps 2) (+ (* 1/2 (- (+ (* 1/6 (* (pow x 3) (exp (neg x)))) (* 1/2 (* (pow x 2) (exp (neg x))))) (+ (* -1/2 (* (pow x 2) (exp (neg x)))) (* -1/6 (* (pow x 3) (exp (neg x))))))) (* (pow eps 2) (+ (* 1/2 (* (pow eps 2) (- (+ (* 1/5040 (* (pow x 7) (exp (neg x)))) (* 1/720 (* (pow x 6) (exp (neg x))))) (+ (* -1/720 (* (pow x 6) (exp (neg x)))) (* -1/5040 (* (pow x 7) (exp (neg x)))))))) (* 1/2 (- (+ (* 1/120 (* (pow x 5) (exp (neg x)))) (* 1/24 (* (pow x 4) (exp (neg x))))) (+ (* -1/24 (* (pow x 4) (exp (neg x)))) (* -1/120 (* (pow x 5) (exp (neg x))))))))))))
(- (+ (exp (neg x)) (* x (exp (neg x)))) (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x))))))
(- (+ (exp (neg x)) (+ (* x (exp (neg x))) (* (pow eps 2) (- (+ (* 1/6 (* (pow x 3) (exp (neg x)))) (* 1/2 (* (pow x 2) (exp (neg x))))) (+ (* -1/2 (* (pow x 2) (exp (neg x)))) (* -1/6 (* (pow x 3) (exp (neg x))))))))) (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x))))))
(- (+ (exp (neg x)) (+ (* x (exp (neg x))) (* (pow eps 2) (- (+ (* 1/6 (* (pow x 3) (exp (neg x)))) (+ (* 1/2 (* (pow x 2) (exp (neg x)))) (* (pow eps 2) (- (+ (* 1/120 (* (pow x 5) (exp (neg x)))) (* 1/24 (* (pow x 4) (exp (neg x))))) (+ (* -1/24 (* (pow x 4) (exp (neg x)))) (* -1/120 (* (pow x 5) (exp (neg x))))))))) (+ (* -1/2 (* (pow x 2) (exp (neg x)))) (* -1/6 (* (pow x 3) (exp (neg x))))))))) (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x))))))
(- (+ (exp (neg x)) (+ (* x (exp (neg x))) (* (pow eps 2) (- (+ (* 1/6 (* (pow x 3) (exp (neg x)))) (+ (* 1/2 (* (pow x 2) (exp (neg x)))) (* (pow eps 2) (- (+ (* 1/120 (* (pow x 5) (exp (neg x)))) (+ (* 1/24 (* (pow x 4) (exp (neg x)))) (* (pow eps 2) (- (+ (* 1/5040 (* (pow x 7) (exp (neg x)))) (* 1/720 (* (pow x 6) (exp (neg x))))) (+ (* -1/720 (* (pow x 6) (exp (neg x)))) (* -1/5040 (* (pow x 7) (exp (neg x))))))))) (+ (* -1/24 (* (pow x 4) (exp (neg x)))) (* -1/120 (* (pow x 5) (exp (neg x))))))))) (+ (* -1/2 (* (pow x 2) (exp (neg x)))) (* -1/6 (* (pow x 3) (exp (neg x))))))))) (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x))))))
(/ (exp (neg x)) eps)
(/ (+ (exp (neg x)) (* eps (+ (exp (neg x)) (* x (exp (neg x)))))) eps)
(/ (+ (exp (neg x)) (* eps (+ (exp (neg x)) (+ (* eps (+ (* 1/2 (* (pow x 2) (exp (neg x)))) (* x (exp (neg x))))) (* x (exp (neg x))))))) eps)
(/ (+ (exp (neg x)) (* eps (+ (exp (neg x)) (+ (* eps (+ (* 1/2 (* (pow x 2) (exp (neg x)))) (+ (* eps (+ (* 1/6 (* (pow x 3) (exp (neg x)))) (* 1/2 (* (pow x 2) (exp (neg x)))))) (* x (exp (neg x)))))) (* x (exp (neg x))))))) eps)
(/ 1 eps)
(/ (+ 1 eps) eps)
(/ (+ (exp (neg x)) (* eps (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x))))))) eps)
(/ (+ (exp (neg x)) (* eps (+ (* -1 (exp (neg x))) (+ (* -1 (* x (exp (neg x)))) (* eps (+ (* 1/2 (* (pow x 2) (exp (neg x)))) (* x (exp (neg x))))))))) eps)
(/ (+ (exp (neg x)) (* eps (+ (* -1 (exp (neg x))) (+ (* -1 (* x (exp (neg x)))) (* eps (+ (* 1/2 (* (pow x 2) (exp (neg x)))) (+ (* eps (+ (* -1/2 (* (pow x 2) (exp (neg x)))) (* -1/6 (* (pow x 3) (exp (neg x)))))) (* x (exp (neg x)))))))))) eps)
x
(+ x (* eps x))
(* 1/2 (- (exp (neg (* x (- 1 eps)))) (* -1 (exp (neg (* x (+ 1 eps)))))))
(+ (* 1/2 (- (exp (neg (* x (- 1 eps)))) (* -1 (exp (neg (* x (+ 1 eps))))))) (* 1/2 (/ (- (exp (neg (* x (- 1 eps)))) (exp (neg (* x (+ 1 eps))))) eps)))
(- (exp (neg (* x (- 1 eps)))) (* -1 (exp (neg (* x (+ 1 eps))))))
(- (+ (exp (neg (* x (- 1 eps)))) (/ (exp (neg (* x (- 1 eps)))) eps)) (+ (* -1 (exp (neg (* x (+ 1 eps))))) (/ (exp (neg (* x (+ 1 eps)))) eps)))
(exp (neg (* x (- 1 eps))))
(+ (exp (neg (* x (- 1 eps)))) (/ (exp (neg (* x (- 1 eps)))) eps))
(* -1 (exp (neg (* x (+ 1 eps)))))
(+ (* -1 (exp (neg (* x (+ 1 eps))))) (/ (exp (neg (* x (+ 1 eps)))) eps))
(* eps x)
(* eps (+ x (/ x eps)))
(* 1/2 (- (exp (neg (* x (+ 1 (* -1 eps))))) (* -1 (exp (neg (* x (- 1 (* -1 eps))))))))
(+ (* -1/2 (/ (- (* -1 (exp (neg (* x (+ 1 (* -1 eps)))))) (* -1 (exp (neg (* x (- 1 (* -1 eps))))))) eps)) (* 1/2 (- (exp (neg (* x (+ 1 (* -1 eps))))) (* -1 (exp (neg (* x (- 1 (* -1 eps)))))))))
(- (exp (neg (* x (+ 1 (* -1 eps))))) (* -1 (exp (neg (* x (- 1 (* -1 eps)))))))
(- (+ (exp (neg (* x (+ 1 (* -1 eps))))) (* -1 (/ (- (* -1 (exp (neg (* x (+ 1 (* -1 eps)))))) (* -1 (exp (neg (* x (- 1 (* -1 eps))))))) eps))) (* -1 (exp (neg (* x (- 1 (* -1 eps)))))))
(exp (neg (* x (+ 1 (* -1 eps)))))
(+ (exp (neg (* x (+ 1 (* -1 eps))))) (/ (exp (neg (* x (+ 1 (* -1 eps))))) eps))
(* -1 (exp (neg (* x (- 1 (* -1 eps))))))
(+ (* -1 (exp (neg (* x (- 1 (* -1 eps)))))) (/ (exp (neg (* x (- 1 (* -1 eps))))) eps))
(* -1 (* eps (+ (* -1 x) (* -1 (/ x eps)))))
Calls

6 calls:

TimeVariablePointExpression
5.0ms
eps
@0
((/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (+ 1 (/ 1 eps)) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (* (+ 1 eps) x))
3.0ms
eps
@inf
((/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (+ 1 (/ 1 eps)) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (* (+ 1 eps) x))
3.0ms
x
@0
((/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (+ 1 (/ 1 eps)) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (* (+ 1 eps) x))
2.0ms
x
@-inf
((/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (+ 1 (/ 1 eps)) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (* (+ 1 eps) x))
2.0ms
x
@inf
((/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (+ 1 (/ 1 eps)) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (* (+ 1 eps) x))

simplify2.0ms (0.1%)

Memory
3.2MiB live, 3.2MiB allocated
Algorithm
egg-herbie
Counts
63 → 6
Calls
Call 1
Inputs
1
(+ 1 (* 1/2 (* x (- (* (+ 1 (/ 1 eps)) (- eps 1)) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1)))))))
(+ 1 (* x (+ (* 1/2 (* x (- (* 1/2 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2))) (* 1/2 (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1)))))) (* 1/2 (- (* (+ 1 (/ 1 eps)) (- eps 1)) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))))))))
(+ 1 (* x (+ (* 1/2 (- (* (+ 1 (/ 1 eps)) (- eps 1)) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))))) (* x (+ (* 1/2 (* x (- (* 1/6 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 3))) (* -1/6 (* (pow (+ 1 eps) 3) (- (/ 1 eps) 1)))))) (* 1/2 (- (* 1/2 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2))) (* 1/2 (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1))))))))))
2
(+ 2 (* x (- (* (+ 1 (/ 1 eps)) (- eps 1)) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))))))
(+ 2 (* x (- (+ (* x (- (* 1/2 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2))) (* 1/2 (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1))))) (* (+ 1 (/ 1 eps)) (- eps 1))) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))))))
(+ 2 (* x (- (+ (* x (- (+ (* 1/2 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2))) (* x (- (* 1/6 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 3))) (* -1/6 (* (pow (+ 1 eps) 3) (- (/ 1 eps) 1)))))) (* 1/2 (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1))))) (* (+ 1 (/ 1 eps)) (- eps 1))) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))))))
(+ 1 (/ 1 eps))
(+ 1 (+ (* x (* (+ 1 (/ 1 eps)) (- eps 1))) (/ 1 eps)))
(+ 1 (+ (* x (+ (* 1/2 (* x (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2)))) (* (+ 1 (/ 1 eps)) (- eps 1)))) (/ 1 eps)))
(+ 1 (+ (* x (+ (* x (+ (* 1/6 (* x (* (+ 1 (/ 1 eps)) (pow (- eps 1) 3)))) (* 1/2 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2))))) (* (+ 1 (/ 1 eps)) (- eps 1)))) (/ 1 eps)))
(- (/ 1 eps) 1)
(- (+ (* -1 (* x (* (+ 1 eps) (- (/ 1 eps) 1)))) (/ 1 eps)) 1)
(- (+ (* x (+ (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))) (* 1/2 (* x (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1)))))) (/ 1 eps)) 1)
(- (+ (* x (+ (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))) (* x (+ (* -1/6 (* x (* (pow (+ 1 eps) 3) (- (/ 1 eps) 1)))) (* 1/2 (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1))))))) (/ 1 eps)) 1)
(* x (+ 1 eps))
(* 1/2 (- (* (exp (- (* eps x) x)) (+ 1 (/ 1 eps))) (* (exp (neg (+ x (* eps x)))) (- (/ 1 eps) 1))))
(- (* (exp (- (* eps x) x)) (+ 1 (/ 1 eps))) (* (exp (neg (+ x (* eps x)))) (- (/ 1 eps) 1)))
(* (exp (- (* eps x) x)) (+ 1 (/ 1 eps)))
(* (exp (neg (+ x (* eps x)))) (- (/ 1 eps) 1))
(* 1/2 (- (* (exp (neg (* x (- 1 eps)))) (+ 1 (/ 1 eps))) (* (exp (neg (* x (+ 1 eps)))) (- (/ 1 eps) 1))))
(- (* (exp (neg (* x (- 1 eps)))) (+ 1 (/ 1 eps))) (* (exp (neg (* x (+ 1 eps)))) (- (/ 1 eps) 1)))
(* (exp (neg (* x (- 1 eps)))) (+ 1 (/ 1 eps)))
(* (exp (neg (* x (+ 1 eps)))) (- (/ 1 eps) 1))
(* 1/2 (- (+ (exp (neg x)) (* x (exp (neg x)))) (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x)))))))
(+ (* 1/2 (* (pow eps 2) (- (+ (* 1/6 (* (pow x 3) (exp (neg x)))) (* 1/2 (* (pow x 2) (exp (neg x))))) (+ (* -1/2 (* (pow x 2) (exp (neg x)))) (* -1/6 (* (pow x 3) (exp (neg x)))))))) (* 1/2 (- (+ (exp (neg x)) (* x (exp (neg x)))) (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x))))))))
(+ (* 1/2 (- (+ (exp (neg x)) (* x (exp (neg x)))) (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x))))))) (* (pow eps 2) (+ (* 1/2 (* (pow eps 2) (- (+ (* 1/120 (* (pow x 5) (exp (neg x)))) (* 1/24 (* (pow x 4) (exp (neg x))))) (+ (* -1/24 (* (pow x 4) (exp (neg x)))) (* -1/120 (* (pow x 5) (exp (neg x)))))))) (* 1/2 (- (+ (* 1/6 (* (pow x 3) (exp (neg x)))) (* 1/2 (* (pow x 2) (exp (neg x))))) (+ (* -1/2 (* (pow x 2) (exp (neg x)))) (* -1/6 (* (pow x 3) (exp (neg x))))))))))
(+ (* 1/2 (- (+ (exp (neg x)) (* x (exp (neg x)))) (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x))))))) (* (pow eps 2) (+ (* 1/2 (- (+ (* 1/6 (* (pow x 3) (exp (neg x)))) (* 1/2 (* (pow x 2) (exp (neg x))))) (+ (* -1/2 (* (pow x 2) (exp (neg x)))) (* -1/6 (* (pow x 3) (exp (neg x))))))) (* (pow eps 2) (+ (* 1/2 (* (pow eps 2) (- (+ (* 1/5040 (* (pow x 7) (exp (neg x)))) (* 1/720 (* (pow x 6) (exp (neg x))))) (+ (* -1/720 (* (pow x 6) (exp (neg x)))) (* -1/5040 (* (pow x 7) (exp (neg x)))))))) (* 1/2 (- (+ (* 1/120 (* (pow x 5) (exp (neg x)))) (* 1/24 (* (pow x 4) (exp (neg x))))) (+ (* -1/24 (* (pow x 4) (exp (neg x)))) (* -1/120 (* (pow x 5) (exp (neg x))))))))))))
(- (+ (exp (neg x)) (* x (exp (neg x)))) (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x))))))
(- (+ (exp (neg x)) (+ (* x (exp (neg x))) (* (pow eps 2) (- (+ (* 1/6 (* (pow x 3) (exp (neg x)))) (* 1/2 (* (pow x 2) (exp (neg x))))) (+ (* -1/2 (* (pow x 2) (exp (neg x)))) (* -1/6 (* (pow x 3) (exp (neg x))))))))) (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x))))))
(- (+ (exp (neg x)) (+ (* x (exp (neg x))) (* (pow eps 2) (- (+ (* 1/6 (* (pow x 3) (exp (neg x)))) (+ (* 1/2 (* (pow x 2) (exp (neg x)))) (* (pow eps 2) (- (+ (* 1/120 (* (pow x 5) (exp (neg x)))) (* 1/24 (* (pow x 4) (exp (neg x))))) (+ (* -1/24 (* (pow x 4) (exp (neg x)))) (* -1/120 (* (pow x 5) (exp (neg x))))))))) (+ (* -1/2 (* (pow x 2) (exp (neg x)))) (* -1/6 (* (pow x 3) (exp (neg x))))))))) (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x))))))
(- (+ (exp (neg x)) (+ (* x (exp (neg x))) (* (pow eps 2) (- (+ (* 1/6 (* (pow x 3) (exp (neg x)))) (+ (* 1/2 (* (pow x 2) (exp (neg x)))) (* (pow eps 2) (- (+ (* 1/120 (* (pow x 5) (exp (neg x)))) (+ (* 1/24 (* (pow x 4) (exp (neg x)))) (* (pow eps 2) (- (+ (* 1/5040 (* (pow x 7) (exp (neg x)))) (* 1/720 (* (pow x 6) (exp (neg x))))) (+ (* -1/720 (* (pow x 6) (exp (neg x)))) (* -1/5040 (* (pow x 7) (exp (neg x))))))))) (+ (* -1/24 (* (pow x 4) (exp (neg x)))) (* -1/120 (* (pow x 5) (exp (neg x))))))))) (+ (* -1/2 (* (pow x 2) (exp (neg x)))) (* -1/6 (* (pow x 3) (exp (neg x))))))))) (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x))))))
(/ (exp (neg x)) eps)
(/ (+ (exp (neg x)) (* eps (+ (exp (neg x)) (* x (exp (neg x)))))) eps)
(/ (+ (exp (neg x)) (* eps (+ (exp (neg x)) (+ (* eps (+ (* 1/2 (* (pow x 2) (exp (neg x)))) (* x (exp (neg x))))) (* x (exp (neg x))))))) eps)
(/ (+ (exp (neg x)) (* eps (+ (exp (neg x)) (+ (* eps (+ (* 1/2 (* (pow x 2) (exp (neg x)))) (+ (* eps (+ (* 1/6 (* (pow x 3) (exp (neg x)))) (* 1/2 (* (pow x 2) (exp (neg x)))))) (* x (exp (neg x)))))) (* x (exp (neg x))))))) eps)
(/ 1 eps)
(/ (+ 1 eps) eps)
(/ (+ (exp (neg x)) (* eps (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x))))))) eps)
(/ (+ (exp (neg x)) (* eps (+ (* -1 (exp (neg x))) (+ (* -1 (* x (exp (neg x)))) (* eps (+ (* 1/2 (* (pow x 2) (exp (neg x)))) (* x (exp (neg x))))))))) eps)
(/ (+ (exp (neg x)) (* eps (+ (* -1 (exp (neg x))) (+ (* -1 (* x (exp (neg x)))) (* eps (+ (* 1/2 (* (pow x 2) (exp (neg x)))) (+ (* eps (+ (* -1/2 (* (pow x 2) (exp (neg x)))) (* -1/6 (* (pow x 3) (exp (neg x)))))) (* x (exp (neg x)))))))))) eps)
x
(+ x (* eps x))
(* 1/2 (- (exp (neg (* x (- 1 eps)))) (* -1 (exp (neg (* x (+ 1 eps)))))))
(+ (* 1/2 (- (exp (neg (* x (- 1 eps)))) (* -1 (exp (neg (* x (+ 1 eps))))))) (* 1/2 (/ (- (exp (neg (* x (- 1 eps)))) (exp (neg (* x (+ 1 eps))))) eps)))
(- (exp (neg (* x (- 1 eps)))) (* -1 (exp (neg (* x (+ 1 eps))))))
(- (+ (exp (neg (* x (- 1 eps)))) (/ (exp (neg (* x (- 1 eps)))) eps)) (+ (* -1 (exp (neg (* x (+ 1 eps))))) (/ (exp (neg (* x (+ 1 eps)))) eps)))
(exp (neg (* x (- 1 eps))))
(+ (exp (neg (* x (- 1 eps)))) (/ (exp (neg (* x (- 1 eps)))) eps))
(* -1 (exp (neg (* x (+ 1 eps)))))
(+ (* -1 (exp (neg (* x (+ 1 eps))))) (/ (exp (neg (* x (+ 1 eps)))) eps))
(* eps x)
(* eps (+ x (/ x eps)))
(* 1/2 (- (exp (neg (* x (+ 1 (* -1 eps))))) (* -1 (exp (neg (* x (- 1 (* -1 eps))))))))
(+ (* -1/2 (/ (- (* -1 (exp (neg (* x (+ 1 (* -1 eps)))))) (* -1 (exp (neg (* x (- 1 (* -1 eps))))))) eps)) (* 1/2 (- (exp (neg (* x (+ 1 (* -1 eps))))) (* -1 (exp (neg (* x (- 1 (* -1 eps)))))))))
(- (exp (neg (* x (+ 1 (* -1 eps))))) (* -1 (exp (neg (* x (- 1 (* -1 eps)))))))
(- (+ (exp (neg (* x (+ 1 (* -1 eps))))) (* -1 (/ (- (* -1 (exp (neg (* x (+ 1 (* -1 eps)))))) (* -1 (exp (neg (* x (- 1 (* -1 eps))))))) eps))) (* -1 (exp (neg (* x (- 1 (* -1 eps)))))))
(exp (neg (* x (+ 1 (* -1 eps)))))
(+ (exp (neg (* x (+ 1 (* -1 eps))))) (/ (exp (neg (* x (+ 1 (* -1 eps))))) eps))
(* -1 (exp (neg (* x (- 1 (* -1 eps))))))
(+ (* -1 (exp (neg (* x (- 1 (* -1 eps)))))) (/ (exp (neg (* x (- 1 (* -1 eps))))) eps))
(* -1 (* eps (+ (* -1 x) (* -1 (/ x eps)))))
Outputs
1
(/.f64 (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))) #s(literal 2 binary64))
(+ 1 (* 1/2 (* x (- (* (+ 1 (/ 1 eps)) (- eps 1)) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1)))))))
(-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
(+ 1 (* x (+ (* 1/2 (* x (- (* 1/2 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2))) (* 1/2 (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1)))))) (* 1/2 (- (* (+ 1 (/ 1 eps)) (- eps 1)) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))))))))
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))))
(+ 1 (* x (+ (* 1/2 (- (* (+ 1 (/ 1 eps)) (- eps 1)) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))))) (* x (+ (* 1/2 (* x (- (* 1/6 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 3))) (* -1/6 (* (pow (+ 1 eps) 3) (- (/ 1 eps) 1)))))) (* 1/2 (- (* 1/2 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2))) (* 1/2 (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1))))))))))
(+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps))
2
(*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))
(+ 2 (* x (- (* (+ 1 (/ 1 eps)) (- eps 1)) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))))))
(*.f64 (+.f64 #s(literal 1 binary64) eps) x)

rewrite0.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated
Counts
6 → 6
Calls
Call 1
Inputs
(/.f64 (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))) #s(literal 2 binary64))
(-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))))
(+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps))
(*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))
(*.f64 (+.f64 #s(literal 1 binary64) eps) x)
Outputs
(/.f64 (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))) #s(literal 2 binary64))
(-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))))
(+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps))
(*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))
(*.f64 (+.f64 #s(literal 1 binary64) eps) x)

eval1.0ms (0%)

Memory
3.2MiB live, 3.2MiB allocated
Compiler

Compiled 446 to 44 computations (90.1% saved)

prune4.0ms (0.1%)

Memory
8.7MiB live, 8.7MiB allocated
Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New7512
Fresh000
Picked011
Done000
Total7613
Accuracy
75.5%
Counts
13 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
75.0%
(/.f64 (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))) #s(literal 2 binary64))
18.2%
(/.f64 #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))) #s(literal 2 binary64))
9.6%
(/.f64 #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x)) #s(literal 2 binary64))
63.3%
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))))
14.6%
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)))
50.5%
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))))
Compiler

Compiled 455 to 293 computations (35.6% saved)

simplify2.0ms (0.1%)

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

Found 19 expressions of interest:

NewMetricScoreProgram
cost-diff0
(-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64))
cost-diff0
(*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))
cost-diff0
#s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
cost-diff0
(/.f64 #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))) #s(literal 2 binary64))
cost-diff0
(/.f64 #s(literal 1 binary64) eps)
cost-diff0
(+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps))
cost-diff0
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))))
cost-diff0
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))))
cost-diff0
(+.f64 #s(literal 1 binary64) eps)
cost-diff0
(*.f64 (+.f64 #s(literal 1 binary64) eps) x)
cost-diff0
#s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x))
cost-diff0
(/.f64 #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x)) #s(literal 2 binary64))
cost-diff0
(/.f64 #s(literal 1 binary64) eps)
cost-diff0
(+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps))
cost-diff0
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)))
cost-diff0
(+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps))
cost-diff0
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))))
cost-diff0
(-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
cost-diff0
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))))
Calls
Call 1
Inputs
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))))
(-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))))
(+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps))
#s(literal 1 binary64)
(/.f64 #s(literal 1 binary64) eps)
eps
(exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))
(neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))
(*.f64 (-.f64 #s(literal 1 binary64) eps) x)
(-.f64 #s(literal 1 binary64) eps)
x
(*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))
(-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64))
(exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))
(neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))
(*.f64 (+.f64 #s(literal 1 binary64) eps) x)
(+.f64 #s(literal 1 binary64) eps)
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)))
(+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps))
#s(literal 1 binary64)
(/.f64 #s(literal 1 binary64) eps)
eps
(/.f64 #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x)) #s(literal 2 binary64))
#s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x))
(*.f64 (+.f64 #s(literal 1 binary64) eps) x)
(+.f64 #s(literal 1 binary64) eps)
#s(literal 1 binary64)
eps
x
#s(literal 2 binary64)
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))))
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))))
(+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps))
#s(literal 1 binary64)
(/.f64 #s(literal 1 binary64) eps)
eps
(exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))
(neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))
(*.f64 (-.f64 #s(literal 1 binary64) eps) x)
(-.f64 #s(literal 1 binary64) eps)
x
(/.f64 #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))) #s(literal 2 binary64))
#s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
(*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))
(-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) eps)
#s(literal 1 binary64)
eps
(exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))
(neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))
(*.f64 (+.f64 #s(literal 1 binary64) eps) x)
(+.f64 #s(literal 1 binary64) eps)
x
#s(literal 2 binary64)
Outputs
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))))
(-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))))
(+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps))
#s(literal 1 binary64)
(/.f64 #s(literal 1 binary64) eps)
eps
(exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))
(neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))
(*.f64 (-.f64 #s(literal 1 binary64) eps) x)
(-.f64 #s(literal 1 binary64) eps)
x
(*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))
(-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64))
(exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))
(neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))
(*.f64 (+.f64 #s(literal 1 binary64) eps) x)
(+.f64 #s(literal 1 binary64) eps)
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)))
(+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps))
#s(literal 1 binary64)
(/.f64 #s(literal 1 binary64) eps)
eps
(/.f64 #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x)) #s(literal 2 binary64))
#s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x))
(*.f64 (+.f64 #s(literal 1 binary64) eps) x)
(+.f64 #s(literal 1 binary64) eps)
#s(literal 1 binary64)
eps
x
#s(literal 2 binary64)
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))))
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))))
(+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps))
#s(literal 1 binary64)
(/.f64 #s(literal 1 binary64) eps)
eps
(exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))
(neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))
(*.f64 (-.f64 #s(literal 1 binary64) eps) x)
(-.f64 #s(literal 1 binary64) eps)
x
(/.f64 #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))) #s(literal 2 binary64))
#s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
(*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))
(-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) eps)
#s(literal 1 binary64)
eps
(exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))
(neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))
(*.f64 (+.f64 #s(literal 1 binary64) eps) x)
(+.f64 #s(literal 1 binary64) eps)
x
#s(literal 2 binary64)

localize85.0ms (2.8%)

Memory
-7.9MiB live, 148.5MiB allocated
Localize:

Found 19 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))
accuracy0.00390625
(*.f64 (+.f64 #s(literal 1 binary64) eps) x)
accuracy0.01171875
(*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))
accuracy52.35716973182353
#s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
accuracy0.0
(neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))
accuracy0.0
(exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))
accuracy0.01171875
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))))
accuracy31.66668275312001
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))))
accuracy0.0
(/.f64 #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x)) #s(literal 2 binary64))
accuracy0.0
(+.f64 #s(literal 1 binary64) eps)
accuracy0.00390625
(*.f64 (+.f64 #s(literal 1 binary64) eps) x)
accuracy57.85576387230491
#s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x))
accuracy0.0
(/.f64 #s(literal 1 binary64) eps)
accuracy0.0
(+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps))
accuracy54.6556434927363
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)))
accuracy0.01171875
(*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))
accuracy0.01171875
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))))
accuracy15.985928671562753
(-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
accuracy20.921875
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))))
Samples
33.0ms190×0valid
28.0ms66×1valid
Compiler

Compiled 936 to 63 computations (93.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 35.0ms
ival-exp: 9.0ms (25.7% of total)
ival-mult: 7.0ms (20% of total)
ival-sub: 6.0ms (17.1% of total)
ival-div: 5.0ms (14.3% of total)
ival-add: 3.0ms (8.6% of total)
adjust: 3.0ms (8.6% of total)
ival-neg: 3.0ms (8.6% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series12.0ms (0.4%)

Memory
22.9MiB live, 22.9MiB allocated
Counts
18 → 91
Calls
Call 1
Inputs
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))))
(-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))))
(+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)))
(/.f64 #s(literal 1 binary64) eps)
(/.f64 #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x)) #s(literal 2 binary64))
#s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x))
(*.f64 (+.f64 #s(literal 1 binary64) eps) x)
(+.f64 #s(literal 1 binary64) eps)
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))))
(/.f64 #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))) #s(literal 2 binary64))
#s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
(*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))
(-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64))
(exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))
(neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))
(exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))
Outputs
1
(+ 1 (* 1/2 (* x (- (* (+ 1 (/ 1 eps)) (- eps 1)) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1)))))))
(+ 1 (* x (+ (* 1/2 (* x (- (* 1/2 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2))) (* 1/2 (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1)))))) (* 1/2 (- (* (+ 1 (/ 1 eps)) (- eps 1)) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))))))))
(+ 1 (* x (+ (* 1/2 (- (* (+ 1 (/ 1 eps)) (- eps 1)) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))))) (* x (+ (* 1/2 (* x (- (* 1/6 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 3))) (* -1/6 (* (pow (+ 1 eps) 3) (- (/ 1 eps) 1)))))) (* 1/2 (- (* 1/2 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2))) (* 1/2 (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1))))))))))
2
(+ 2 (* x (- (* (+ 1 (/ 1 eps)) (- eps 1)) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))))))
(+ 2 (* x (- (+ (* x (- (* 1/2 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2))) (* 1/2 (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1))))) (* (+ 1 (/ 1 eps)) (- eps 1))) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))))))
(+ 2 (* x (- (+ (* x (- (+ (* 1/2 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2))) (* x (- (* 1/6 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 3))) (* -1/6 (* (pow (+ 1 eps) 3) (- (/ 1 eps) 1)))))) (* 1/2 (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1))))) (* (+ 1 (/ 1 eps)) (- eps 1))) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))))))
(+ 1 (/ 1 eps))
(+ 1 (+ (* x (* (+ 1 (/ 1 eps)) (- eps 1))) (/ 1 eps)))
(+ 1 (+ (* x (+ (* 1/2 (* x (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2)))) (* (+ 1 (/ 1 eps)) (- eps 1)))) (/ 1 eps)))
(+ 1 (+ (* x (+ (* x (+ (* 1/6 (* x (* (+ 1 (/ 1 eps)) (pow (- eps 1) 3)))) (* 1/2 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2))))) (* (+ 1 (/ 1 eps)) (- eps 1)))) (/ 1 eps)))
(* x (+ 1 eps))
(- (/ 1 eps) 1)
(- (+ (* -1 (* x (* (+ 1 eps) (- (/ 1 eps) 1)))) (/ 1 eps)) 1)
(- (+ (* x (+ (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))) (* 1/2 (* x (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1)))))) (/ 1 eps)) 1)
(- (+ (* x (+ (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))) (* x (+ (* -1/6 (* x (* (pow (+ 1 eps) 3) (- (/ 1 eps) 1)))) (* 1/2 (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1))))))) (/ 1 eps)) 1)
(+ 1 (* x (- eps 1)))
(+ 1 (* x (- (+ eps (* 1/2 (* x (pow (- eps 1) 2)))) 1)))
(+ 1 (* x (- (+ eps (* x (+ (* 1/6 (* x (pow (- eps 1) 3))) (* 1/2 (pow (- eps 1) 2))))) 1)))
(* x (- eps 1))
(+ 1 (* -1 (* x (+ 1 eps))))
(+ 1 (* x (+ (* -1 (+ 1 eps)) (* 1/2 (* x (pow (+ 1 eps) 2))))))
(+ 1 (* x (+ (* -1 (+ 1 eps)) (* x (+ (* -1/6 (* x (pow (+ 1 eps) 3))) (* 1/2 (pow (+ 1 eps) 2)))))))
(* 1/2 (- (* (exp (- (* eps x) x)) (+ 1 (/ 1 eps))) (* (exp (neg (+ x (* eps x)))) (- (/ 1 eps) 1))))
(- (* (exp (- (* eps x) x)) (+ 1 (/ 1 eps))) (* (exp (neg (+ x (* eps x)))) (- (/ 1 eps) 1)))
(* (exp (- (* eps x) x)) (+ 1 (/ 1 eps)))
(* (exp (neg (+ x (* eps x)))) (- (/ 1 eps) 1))
(exp (- (* eps x) x))
(exp (neg (+ x (* eps x))))
(* 1/2 (- (* (exp (neg (* x (- 1 eps)))) (+ 1 (/ 1 eps))) (* (exp (neg (* x (+ 1 eps)))) (- (/ 1 eps) 1))))
(- (* (exp (neg (* x (- 1 eps)))) (+ 1 (/ 1 eps))) (* (exp (neg (* x (+ 1 eps)))) (- (/ 1 eps) 1)))
(* (exp (neg (* x (- 1 eps)))) (+ 1 (/ 1 eps)))
(* (exp (neg (* x (+ 1 eps)))) (- (/ 1 eps) 1))
(exp (neg (* x (- 1 eps))))
(* -1 (* x (- 1 eps)))
(exp (neg (* x (+ 1 eps))))
(* 1/2 (- (+ (exp (neg x)) (* x (exp (neg x)))) (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x)))))))
(+ (* 1/2 (* (pow eps 2) (- (+ (* 1/6 (* (pow x 3) (exp (neg x)))) (* 1/2 (* (pow x 2) (exp (neg x))))) (+ (* -1/2 (* (pow x 2) (exp (neg x)))) (* -1/6 (* (pow x 3) (exp (neg x)))))))) (* 1/2 (- (+ (exp (neg x)) (* x (exp (neg x)))) (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x))))))))
(+ (* 1/2 (- (+ (exp (neg x)) (* x (exp (neg x)))) (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x))))))) (* (pow eps 2) (+ (* 1/2 (* (pow eps 2) (- (+ (* 1/120 (* (pow x 5) (exp (neg x)))) (* 1/24 (* (pow x 4) (exp (neg x))))) (+ (* -1/24 (* (pow x 4) (exp (neg x)))) (* -1/120 (* (pow x 5) (exp (neg x)))))))) (* 1/2 (- (+ (* 1/6 (* (pow x 3) (exp (neg x)))) (* 1/2 (* (pow x 2) (exp (neg x))))) (+ (* -1/2 (* (pow x 2) (exp (neg x)))) (* -1/6 (* (pow x 3) (exp (neg x))))))))))
(+ (* 1/2 (- (+ (exp (neg x)) (* x (exp (neg x)))) (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x))))))) (* (pow eps 2) (+ (* 1/2 (- (+ (* 1/6 (* (pow x 3) (exp (neg x)))) (* 1/2 (* (pow x 2) (exp (neg x))))) (+ (* -1/2 (* (pow x 2) (exp (neg x)))) (* -1/6 (* (pow x 3) (exp (neg x))))))) (* (pow eps 2) (+ (* 1/2 (* (pow eps 2) (- (+ (* 1/5040 (* (pow x 7) (exp (neg x)))) (* 1/720 (* (pow x 6) (exp (neg x))))) (+ (* -1/720 (* (pow x 6) (exp (neg x)))) (* -1/5040 (* (pow x 7) (exp (neg x)))))))) (* 1/2 (- (+ (* 1/120 (* (pow x 5) (exp (neg x)))) (* 1/24 (* (pow x 4) (exp (neg x))))) (+ (* -1/24 (* (pow x 4) (exp (neg x)))) (* -1/120 (* (pow x 5) (exp (neg x))))))))))))
(- (+ (exp (neg x)) (* x (exp (neg x)))) (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x))))))
(- (+ (exp (neg x)) (+ (* x (exp (neg x))) (* (pow eps 2) (- (+ (* 1/6 (* (pow x 3) (exp (neg x)))) (* 1/2 (* (pow x 2) (exp (neg x))))) (+ (* -1/2 (* (pow x 2) (exp (neg x)))) (* -1/6 (* (pow x 3) (exp (neg x))))))))) (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x))))))
(- (+ (exp (neg x)) (+ (* x (exp (neg x))) (* (pow eps 2) (- (+ (* 1/6 (* (pow x 3) (exp (neg x)))) (+ (* 1/2 (* (pow x 2) (exp (neg x)))) (* (pow eps 2) (- (+ (* 1/120 (* (pow x 5) (exp (neg x)))) (* 1/24 (* (pow x 4) (exp (neg x))))) (+ (* -1/24 (* (pow x 4) (exp (neg x)))) (* -1/120 (* (pow x 5) (exp (neg x))))))))) (+ (* -1/2 (* (pow x 2) (exp (neg x)))) (* -1/6 (* (pow x 3) (exp (neg x))))))))) (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x))))))
(- (+ (exp (neg x)) (+ (* x (exp (neg x))) (* (pow eps 2) (- (+ (* 1/6 (* (pow x 3) (exp (neg x)))) (+ (* 1/2 (* (pow x 2) (exp (neg x)))) (* (pow eps 2) (- (+ (* 1/120 (* (pow x 5) (exp (neg x)))) (+ (* 1/24 (* (pow x 4) (exp (neg x)))) (* (pow eps 2) (- (+ (* 1/5040 (* (pow x 7) (exp (neg x)))) (* 1/720 (* (pow x 6) (exp (neg x))))) (+ (* -1/720 (* (pow x 6) (exp (neg x)))) (* -1/5040 (* (pow x 7) (exp (neg x))))))))) (+ (* -1/24 (* (pow x 4) (exp (neg x)))) (* -1/120 (* (pow x 5) (exp (neg x))))))))) (+ (* -1/2 (* (pow x 2) (exp (neg x)))) (* -1/6 (* (pow x 3) (exp (neg x))))))))) (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x))))))
(/ (exp (neg x)) eps)
(/ (+ (exp (neg x)) (* eps (+ (exp (neg x)) (* x (exp (neg x)))))) eps)
(/ (+ (exp (neg x)) (* eps (+ (exp (neg x)) (+ (* eps (+ (* 1/2 (* (pow x 2) (exp (neg x)))) (* x (exp (neg x))))) (* x (exp (neg x))))))) eps)
(/ (+ (exp (neg x)) (* eps (+ (exp (neg x)) (+ (* eps (+ (* 1/2 (* (pow x 2) (exp (neg x)))) (+ (* eps (+ (* 1/6 (* (pow x 3) (exp (neg x)))) (* 1/2 (* (pow x 2) (exp (neg x)))))) (* x (exp (neg x)))))) (* x (exp (neg x))))))) eps)
(/ 1 eps)
(/ (+ 1 eps) eps)
x
(+ x (* eps x))
(+ 1 eps)
(/ (+ (exp (neg x)) (* eps (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x))))))) eps)
(/ (+ (exp (neg x)) (* eps (+ (* -1 (exp (neg x))) (+ (* -1 (* x (exp (neg x)))) (* eps (+ (* 1/2 (* (pow x 2) (exp (neg x)))) (* x (exp (neg x))))))))) eps)
(/ (+ (exp (neg x)) (* eps (+ (* -1 (exp (neg x))) (+ (* -1 (* x (exp (neg x)))) (* eps (+ (* 1/2 (* (pow x 2) (exp (neg x)))) (+ (* eps (+ (* -1/2 (* (pow x 2) (exp (neg x)))) (* -1/6 (* (pow x 3) (exp (neg x)))))) (* x (exp (neg x)))))))))) eps)
(/ (+ 1 (* -1 eps)) eps)
(exp (neg x))
(+ (exp (neg x)) (* eps (* x (exp (neg x)))))
(+ (exp (neg x)) (* eps (+ (* 1/2 (* eps (* (pow x 2) (exp (neg x))))) (* x (exp (neg x))))))
(+ (exp (neg x)) (* eps (+ (* eps (+ (* 1/6 (* eps (* (pow x 3) (exp (neg x))))) (* 1/2 (* (pow x 2) (exp (neg x)))))) (* x (exp (neg x))))))
(* -1 x)
(- (* eps x) x)
(+ (exp (neg x)) (* -1 (* eps (* x (exp (neg x))))))
(+ (exp (neg x)) (* eps (+ (* -1 (* x (exp (neg x)))) (* 1/2 (* eps (* (pow x 2) (exp (neg x))))))))
(+ (exp (neg x)) (* eps (+ (* -1 (* x (exp (neg x)))) (* eps (+ (* -1/6 (* eps (* (pow x 3) (exp (neg x))))) (* 1/2 (* (pow x 2) (exp (neg x)))))))))
(* 1/2 (- (exp (neg (* x (- 1 eps)))) (* -1 (exp (neg (* x (+ 1 eps)))))))
(+ (* 1/2 (- (exp (neg (* x (- 1 eps)))) (* -1 (exp (neg (* x (+ 1 eps))))))) (* 1/2 (/ (- (exp (neg (* x (- 1 eps)))) (exp (neg (* x (+ 1 eps))))) eps)))
(- (exp (neg (* x (- 1 eps)))) (* -1 (exp (neg (* x (+ 1 eps))))))
(- (+ (exp (neg (* x (- 1 eps)))) (/ (exp (neg (* x (- 1 eps)))) eps)) (+ (* -1 (exp (neg (* x (+ 1 eps))))) (/ (exp (neg (* x (+ 1 eps)))) eps)))
(+ (exp (neg (* x (- 1 eps)))) (/ (exp (neg (* x (- 1 eps)))) eps))
(* eps x)
(* eps (+ x (/ x eps)))
eps
(* eps (+ 1 (/ 1 eps)))
(* -1 (exp (neg (* x (+ 1 eps)))))
(+ (* -1 (exp (neg (* x (+ 1 eps))))) (/ (exp (neg (* x (+ 1 eps)))) eps))
-1
(* eps (- (* -1 (/ x eps)) (* -1 x)))
(* 1/2 (- (exp (neg (* x (+ 1 (* -1 eps))))) (* -1 (exp (neg (* x (- 1 (* -1 eps))))))))
(+ (* -1/2 (/ (- (* -1 (exp (neg (* x (+ 1 (* -1 eps)))))) (* -1 (exp (neg (* x (- 1 (* -1 eps))))))) eps)) (* 1/2 (- (exp (neg (* x (+ 1 (* -1 eps))))) (* -1 (exp (neg (* x (- 1 (* -1 eps)))))))))
(- (exp (neg (* x (+ 1 (* -1 eps))))) (* -1 (exp (neg (* x (- 1 (* -1 eps)))))))
(- (+ (exp (neg (* x (+ 1 (* -1 eps))))) (* -1 (/ (- (* -1 (exp (neg (* x (+ 1 (* -1 eps)))))) (* -1 (exp (neg (* x (- 1 (* -1 eps))))))) eps))) (* -1 (exp (neg (* x (- 1 (* -1 eps)))))))
(exp (neg (* x (+ 1 (* -1 eps)))))
(+ (exp (neg (* x (+ 1 (* -1 eps))))) (/ (exp (neg (* x (+ 1 (* -1 eps))))) eps))
(* -1 (* eps (+ (* -1 x) (* -1 (/ x eps)))))
(* -1 (exp (neg (* x (- 1 (* -1 eps))))))
(+ (* -1 (exp (neg (* x (- 1 (* -1 eps)))))) (/ (exp (neg (* x (- 1 (* -1 eps))))) eps))
(* -1 (* eps (- (/ x eps) x)))
(exp (neg (* x (- 1 (* -1 eps)))))
Calls

6 calls:

TimeVariablePointExpression
2.0ms
eps
@0
((/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (+ 1 (/ 1 eps)) (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (/ 1 eps) (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (* (+ 1 eps) x) (+ 1 eps) (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (- (/ 1 eps) 1) (exp (neg (* (- 1 eps) x))) (neg (* (- 1 eps) x)) (exp (neg (* (+ 1 eps) x))))
2.0ms
x
@-inf
((/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (+ 1 (/ 1 eps)) (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (/ 1 eps) (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (* (+ 1 eps) x) (+ 1 eps) (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (- (/ 1 eps) 1) (exp (neg (* (- 1 eps) x))) (neg (* (- 1 eps) x)) (exp (neg (* (+ 1 eps) x))))
2.0ms
x
@inf
((/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (+ 1 (/ 1 eps)) (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (/ 1 eps) (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (* (+ 1 eps) x) (+ 1 eps) (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (- (/ 1 eps) 1) (exp (neg (* (- 1 eps) x))) (neg (* (- 1 eps) x)) (exp (neg (* (+ 1 eps) x))))
1.0ms
x
@0
((/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (+ 1 (/ 1 eps)) (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (/ 1 eps) (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (* (+ 1 eps) x) (+ 1 eps) (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (- (/ 1 eps) 1) (exp (neg (* (- 1 eps) x))) (neg (* (- 1 eps) x)) (exp (neg (* (+ 1 eps) x))))
1.0ms
eps
@-inf
((/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (+ 1 (/ 1 eps)) (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (/ 1 eps) (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (* (+ 1 eps) x) (+ 1 eps) (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (- (/ 1 eps) 1) (exp (neg (* (- 1 eps) x))) (neg (* (- 1 eps) x)) (exp (neg (* (+ 1 eps) x))))

simplify4.0ms (0.1%)

Memory
-34.2MiB live, 3.9MiB allocated
Algorithm
egg-herbie
Counts
91 → 18
Calls
Call 1
Inputs
1
(+ 1 (* 1/2 (* x (- (* (+ 1 (/ 1 eps)) (- eps 1)) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1)))))))
(+ 1 (* x (+ (* 1/2 (* x (- (* 1/2 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2))) (* 1/2 (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1)))))) (* 1/2 (- (* (+ 1 (/ 1 eps)) (- eps 1)) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))))))))
(+ 1 (* x (+ (* 1/2 (- (* (+ 1 (/ 1 eps)) (- eps 1)) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))))) (* x (+ (* 1/2 (* x (- (* 1/6 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 3))) (* -1/6 (* (pow (+ 1 eps) 3) (- (/ 1 eps) 1)))))) (* 1/2 (- (* 1/2 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2))) (* 1/2 (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1))))))))))
2
(+ 2 (* x (- (* (+ 1 (/ 1 eps)) (- eps 1)) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))))))
(+ 2 (* x (- (+ (* x (- (* 1/2 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2))) (* 1/2 (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1))))) (* (+ 1 (/ 1 eps)) (- eps 1))) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))))))
(+ 2 (* x (- (+ (* x (- (+ (* 1/2 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2))) (* x (- (* 1/6 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 3))) (* -1/6 (* (pow (+ 1 eps) 3) (- (/ 1 eps) 1)))))) (* 1/2 (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1))))) (* (+ 1 (/ 1 eps)) (- eps 1))) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))))))
(+ 1 (/ 1 eps))
(+ 1 (+ (* x (* (+ 1 (/ 1 eps)) (- eps 1))) (/ 1 eps)))
(+ 1 (+ (* x (+ (* 1/2 (* x (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2)))) (* (+ 1 (/ 1 eps)) (- eps 1)))) (/ 1 eps)))
(+ 1 (+ (* x (+ (* x (+ (* 1/6 (* x (* (+ 1 (/ 1 eps)) (pow (- eps 1) 3)))) (* 1/2 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2))))) (* (+ 1 (/ 1 eps)) (- eps 1)))) (/ 1 eps)))
(* x (+ 1 eps))
(- (/ 1 eps) 1)
(- (+ (* -1 (* x (* (+ 1 eps) (- (/ 1 eps) 1)))) (/ 1 eps)) 1)
(- (+ (* x (+ (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))) (* 1/2 (* x (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1)))))) (/ 1 eps)) 1)
(- (+ (* x (+ (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))) (* x (+ (* -1/6 (* x (* (pow (+ 1 eps) 3) (- (/ 1 eps) 1)))) (* 1/2 (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1))))))) (/ 1 eps)) 1)
(+ 1 (* x (- eps 1)))
(+ 1 (* x (- (+ eps (* 1/2 (* x (pow (- eps 1) 2)))) 1)))
(+ 1 (* x (- (+ eps (* x (+ (* 1/6 (* x (pow (- eps 1) 3))) (* 1/2 (pow (- eps 1) 2))))) 1)))
(* x (- eps 1))
(+ 1 (* -1 (* x (+ 1 eps))))
(+ 1 (* x (+ (* -1 (+ 1 eps)) (* 1/2 (* x (pow (+ 1 eps) 2))))))
(+ 1 (* x (+ (* -1 (+ 1 eps)) (* x (+ (* -1/6 (* x (pow (+ 1 eps) 3))) (* 1/2 (pow (+ 1 eps) 2)))))))
(* 1/2 (- (* (exp (- (* eps x) x)) (+ 1 (/ 1 eps))) (* (exp (neg (+ x (* eps x)))) (- (/ 1 eps) 1))))
(- (* (exp (- (* eps x) x)) (+ 1 (/ 1 eps))) (* (exp (neg (+ x (* eps x)))) (- (/ 1 eps) 1)))
(* (exp (- (* eps x) x)) (+ 1 (/ 1 eps)))
(* (exp (neg (+ x (* eps x)))) (- (/ 1 eps) 1))
(exp (- (* eps x) x))
(exp (neg (+ x (* eps x))))
(* 1/2 (- (* (exp (neg (* x (- 1 eps)))) (+ 1 (/ 1 eps))) (* (exp (neg (* x (+ 1 eps)))) (- (/ 1 eps) 1))))
(- (* (exp (neg (* x (- 1 eps)))) (+ 1 (/ 1 eps))) (* (exp (neg (* x (+ 1 eps)))) (- (/ 1 eps) 1)))
(* (exp (neg (* x (- 1 eps)))) (+ 1 (/ 1 eps)))
(* (exp (neg (* x (+ 1 eps)))) (- (/ 1 eps) 1))
(exp (neg (* x (- 1 eps))))
(* -1 (* x (- 1 eps)))
(exp (neg (* x (+ 1 eps))))
(* 1/2 (- (+ (exp (neg x)) (* x (exp (neg x)))) (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x)))))))
(+ (* 1/2 (* (pow eps 2) (- (+ (* 1/6 (* (pow x 3) (exp (neg x)))) (* 1/2 (* (pow x 2) (exp (neg x))))) (+ (* -1/2 (* (pow x 2) (exp (neg x)))) (* -1/6 (* (pow x 3) (exp (neg x)))))))) (* 1/2 (- (+ (exp (neg x)) (* x (exp (neg x)))) (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x))))))))
(+ (* 1/2 (- (+ (exp (neg x)) (* x (exp (neg x)))) (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x))))))) (* (pow eps 2) (+ (* 1/2 (* (pow eps 2) (- (+ (* 1/120 (* (pow x 5) (exp (neg x)))) (* 1/24 (* (pow x 4) (exp (neg x))))) (+ (* -1/24 (* (pow x 4) (exp (neg x)))) (* -1/120 (* (pow x 5) (exp (neg x)))))))) (* 1/2 (- (+ (* 1/6 (* (pow x 3) (exp (neg x)))) (* 1/2 (* (pow x 2) (exp (neg x))))) (+ (* -1/2 (* (pow x 2) (exp (neg x)))) (* -1/6 (* (pow x 3) (exp (neg x))))))))))
(+ (* 1/2 (- (+ (exp (neg x)) (* x (exp (neg x)))) (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x))))))) (* (pow eps 2) (+ (* 1/2 (- (+ (* 1/6 (* (pow x 3) (exp (neg x)))) (* 1/2 (* (pow x 2) (exp (neg x))))) (+ (* -1/2 (* (pow x 2) (exp (neg x)))) (* -1/6 (* (pow x 3) (exp (neg x))))))) (* (pow eps 2) (+ (* 1/2 (* (pow eps 2) (- (+ (* 1/5040 (* (pow x 7) (exp (neg x)))) (* 1/720 (* (pow x 6) (exp (neg x))))) (+ (* -1/720 (* (pow x 6) (exp (neg x)))) (* -1/5040 (* (pow x 7) (exp (neg x)))))))) (* 1/2 (- (+ (* 1/120 (* (pow x 5) (exp (neg x)))) (* 1/24 (* (pow x 4) (exp (neg x))))) (+ (* -1/24 (* (pow x 4) (exp (neg x)))) (* -1/120 (* (pow x 5) (exp (neg x))))))))))))
(- (+ (exp (neg x)) (* x (exp (neg x)))) (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x))))))
(- (+ (exp (neg x)) (+ (* x (exp (neg x))) (* (pow eps 2) (- (+ (* 1/6 (* (pow x 3) (exp (neg x)))) (* 1/2 (* (pow x 2) (exp (neg x))))) (+ (* -1/2 (* (pow x 2) (exp (neg x)))) (* -1/6 (* (pow x 3) (exp (neg x))))))))) (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x))))))
(- (+ (exp (neg x)) (+ (* x (exp (neg x))) (* (pow eps 2) (- (+ (* 1/6 (* (pow x 3) (exp (neg x)))) (+ (* 1/2 (* (pow x 2) (exp (neg x)))) (* (pow eps 2) (- (+ (* 1/120 (* (pow x 5) (exp (neg x)))) (* 1/24 (* (pow x 4) (exp (neg x))))) (+ (* -1/24 (* (pow x 4) (exp (neg x)))) (* -1/120 (* (pow x 5) (exp (neg x))))))))) (+ (* -1/2 (* (pow x 2) (exp (neg x)))) (* -1/6 (* (pow x 3) (exp (neg x))))))))) (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x))))))
(- (+ (exp (neg x)) (+ (* x (exp (neg x))) (* (pow eps 2) (- (+ (* 1/6 (* (pow x 3) (exp (neg x)))) (+ (* 1/2 (* (pow x 2) (exp (neg x)))) (* (pow eps 2) (- (+ (* 1/120 (* (pow x 5) (exp (neg x)))) (+ (* 1/24 (* (pow x 4) (exp (neg x)))) (* (pow eps 2) (- (+ (* 1/5040 (* (pow x 7) (exp (neg x)))) (* 1/720 (* (pow x 6) (exp (neg x))))) (+ (* -1/720 (* (pow x 6) (exp (neg x)))) (* -1/5040 (* (pow x 7) (exp (neg x))))))))) (+ (* -1/24 (* (pow x 4) (exp (neg x)))) (* -1/120 (* (pow x 5) (exp (neg x))))))))) (+ (* -1/2 (* (pow x 2) (exp (neg x)))) (* -1/6 (* (pow x 3) (exp (neg x))))))))) (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x))))))
(/ (exp (neg x)) eps)
(/ (+ (exp (neg x)) (* eps (+ (exp (neg x)) (* x (exp (neg x)))))) eps)
(/ (+ (exp (neg x)) (* eps (+ (exp (neg x)) (+ (* eps (+ (* 1/2 (* (pow x 2) (exp (neg x)))) (* x (exp (neg x))))) (* x (exp (neg x))))))) eps)
(/ (+ (exp (neg x)) (* eps (+ (exp (neg x)) (+ (* eps (+ (* 1/2 (* (pow x 2) (exp (neg x)))) (+ (* eps (+ (* 1/6 (* (pow x 3) (exp (neg x)))) (* 1/2 (* (pow x 2) (exp (neg x)))))) (* x (exp (neg x)))))) (* x (exp (neg x))))))) eps)
(/ 1 eps)
(/ (+ 1 eps) eps)
x
(+ x (* eps x))
(+ 1 eps)
(/ (+ (exp (neg x)) (* eps (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x))))))) eps)
(/ (+ (exp (neg x)) (* eps (+ (* -1 (exp (neg x))) (+ (* -1 (* x (exp (neg x)))) (* eps (+ (* 1/2 (* (pow x 2) (exp (neg x)))) (* x (exp (neg x))))))))) eps)
(/ (+ (exp (neg x)) (* eps (+ (* -1 (exp (neg x))) (+ (* -1 (* x (exp (neg x)))) (* eps (+ (* 1/2 (* (pow x 2) (exp (neg x)))) (+ (* eps (+ (* -1/2 (* (pow x 2) (exp (neg x)))) (* -1/6 (* (pow x 3) (exp (neg x)))))) (* x (exp (neg x)))))))))) eps)
(/ (+ 1 (* -1 eps)) eps)
(exp (neg x))
(+ (exp (neg x)) (* eps (* x (exp (neg x)))))
(+ (exp (neg x)) (* eps (+ (* 1/2 (* eps (* (pow x 2) (exp (neg x))))) (* x (exp (neg x))))))
(+ (exp (neg x)) (* eps (+ (* eps (+ (* 1/6 (* eps (* (pow x 3) (exp (neg x))))) (* 1/2 (* (pow x 2) (exp (neg x)))))) (* x (exp (neg x))))))
(* -1 x)
(- (* eps x) x)
(+ (exp (neg x)) (* -1 (* eps (* x (exp (neg x))))))
(+ (exp (neg x)) (* eps (+ (* -1 (* x (exp (neg x)))) (* 1/2 (* eps (* (pow x 2) (exp (neg x))))))))
(+ (exp (neg x)) (* eps (+ (* -1 (* x (exp (neg x)))) (* eps (+ (* -1/6 (* eps (* (pow x 3) (exp (neg x))))) (* 1/2 (* (pow x 2) (exp (neg x)))))))))
(* 1/2 (- (exp (neg (* x (- 1 eps)))) (* -1 (exp (neg (* x (+ 1 eps)))))))
(+ (* 1/2 (- (exp (neg (* x (- 1 eps)))) (* -1 (exp (neg (* x (+ 1 eps))))))) (* 1/2 (/ (- (exp (neg (* x (- 1 eps)))) (exp (neg (* x (+ 1 eps))))) eps)))
(- (exp (neg (* x (- 1 eps)))) (* -1 (exp (neg (* x (+ 1 eps))))))
(- (+ (exp (neg (* x (- 1 eps)))) (/ (exp (neg (* x (- 1 eps)))) eps)) (+ (* -1 (exp (neg (* x (+ 1 eps))))) (/ (exp (neg (* x (+ 1 eps)))) eps)))
(+ (exp (neg (* x (- 1 eps)))) (/ (exp (neg (* x (- 1 eps)))) eps))
(* eps x)
(* eps (+ x (/ x eps)))
eps
(* eps (+ 1 (/ 1 eps)))
(* -1 (exp (neg (* x (+ 1 eps)))))
(+ (* -1 (exp (neg (* x (+ 1 eps))))) (/ (exp (neg (* x (+ 1 eps)))) eps))
-1
(* eps (- (* -1 (/ x eps)) (* -1 x)))
(* 1/2 (- (exp (neg (* x (+ 1 (* -1 eps))))) (* -1 (exp (neg (* x (- 1 (* -1 eps))))))))
(+ (* -1/2 (/ (- (* -1 (exp (neg (* x (+ 1 (* -1 eps)))))) (* -1 (exp (neg (* x (- 1 (* -1 eps))))))) eps)) (* 1/2 (- (exp (neg (* x (+ 1 (* -1 eps))))) (* -1 (exp (neg (* x (- 1 (* -1 eps)))))))))
(- (exp (neg (* x (+ 1 (* -1 eps))))) (* -1 (exp (neg (* x (- 1 (* -1 eps)))))))
(- (+ (exp (neg (* x (+ 1 (* -1 eps))))) (* -1 (/ (- (* -1 (exp (neg (* x (+ 1 (* -1 eps)))))) (* -1 (exp (neg (* x (- 1 (* -1 eps))))))) eps))) (* -1 (exp (neg (* x (- 1 (* -1 eps)))))))
(exp (neg (* x (+ 1 (* -1 eps)))))
(+ (exp (neg (* x (+ 1 (* -1 eps))))) (/ (exp (neg (* x (+ 1 (* -1 eps))))) eps))
(* -1 (* eps (+ (* -1 x) (* -1 (/ x eps)))))
(* -1 (exp (neg (* x (- 1 (* -1 eps))))))
(+ (* -1 (exp (neg (* x (- 1 (* -1 eps)))))) (/ (exp (neg (* x (- 1 (* -1 eps))))) eps))
(* -1 (* eps (- (/ x eps) x)))
(exp (neg (* x (- 1 (* -1 eps)))))
Outputs
1
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))))
(+ 1 (* 1/2 (* x (- (* (+ 1 (/ 1 eps)) (- eps 1)) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1)))))))
(-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
(+ 1 (* x (+ (* 1/2 (* x (- (* 1/2 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2))) (* 1/2 (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1)))))) (* 1/2 (- (* (+ 1 (/ 1 eps)) (- eps 1)) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))))))))
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))))
(+ 1 (* x (+ (* 1/2 (- (* (+ 1 (/ 1 eps)) (- eps 1)) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))))) (* x (+ (* 1/2 (* x (- (* 1/6 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 3))) (* -1/6 (* (pow (+ 1 eps) 3) (- (/ 1 eps) 1)))))) (* 1/2 (- (* 1/2 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2))) (* 1/2 (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1))))))))))
(+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps))
2
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)))
(+ 2 (* x (- (* (+ 1 (/ 1 eps)) (- eps 1)) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))))))
(/.f64 #s(literal 1 binary64) eps)
(+ 2 (* x (- (+ (* x (- (* 1/2 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2))) (* 1/2 (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1))))) (* (+ 1 (/ 1 eps)) (- eps 1))) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))))))
(/.f64 #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x)) #s(literal 2 binary64))
(+ 2 (* x (- (+ (* x (- (+ (* 1/2 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2))) (* x (- (* 1/6 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 3))) (* -1/6 (* (pow (+ 1 eps) 3) (- (/ 1 eps) 1)))))) (* 1/2 (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1))))) (* (+ 1 (/ 1 eps)) (- eps 1))) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))))))
#s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x))
(+ 1 (/ 1 eps))
(*.f64 (+.f64 #s(literal 1 binary64) eps) x)
(+ 1 (+ (* x (* (+ 1 (/ 1 eps)) (- eps 1))) (/ 1 eps)))
(+.f64 #s(literal 1 binary64) eps)
(+ 1 (+ (* x (+ (* 1/2 (* x (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2)))) (* (+ 1 (/ 1 eps)) (- eps 1)))) (/ 1 eps)))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))))
(+ 1 (+ (* x (+ (* x (+ (* 1/6 (* x (* (+ 1 (/ 1 eps)) (pow (- eps 1) 3)))) (* 1/2 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2))))) (* (+ 1 (/ 1 eps)) (- eps 1)))) (/ 1 eps)))
(/.f64 #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))) #s(literal 2 binary64))
(* x (+ 1 eps))
#s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
(- (/ 1 eps) 1)
(*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))
(- (+ (* -1 (* x (* (+ 1 eps) (- (/ 1 eps) 1)))) (/ 1 eps)) 1)
(-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64))
(- (+ (* x (+ (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))) (* 1/2 (* x (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1)))))) (/ 1 eps)) 1)
(exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))
(- (+ (* x (+ (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))) (* x (+ (* -1/6 (* x (* (pow (+ 1 eps) 3) (- (/ 1 eps) 1)))) (* 1/2 (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1))))))) (/ 1 eps)) 1)
(neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))
(+ 1 (* x (- eps 1)))
(exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))

rewrite1.0ms (0%)

Memory
2.9MiB live, 2.9MiB allocated
Counts
18 → 18
Calls
Call 1
Inputs
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))))
(-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))))
(+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)))
(/.f64 #s(literal 1 binary64) eps)
(/.f64 #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x)) #s(literal 2 binary64))
#s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x))
(*.f64 (+.f64 #s(literal 1 binary64) eps) x)
(+.f64 #s(literal 1 binary64) eps)
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))))
(/.f64 #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))) #s(literal 2 binary64))
#s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
(*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))
(-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64))
(exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))
(neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))
(exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))
Outputs
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))))
(-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))))
(+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)))
(/.f64 #s(literal 1 binary64) eps)
(/.f64 #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x)) #s(literal 2 binary64))
#s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x))
(*.f64 (+.f64 #s(literal 1 binary64) eps) x)
(+.f64 #s(literal 1 binary64) eps)
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))))
(/.f64 #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))) #s(literal 2 binary64))
#s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
(*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))
(-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64))
(exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))
(neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))
(exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))

eval6.0ms (0.2%)

Memory
14.1MiB live, 14.1MiB allocated
Compiler

Compiled 3 456 to 102 computations (97% saved)

prune8.0ms (0.3%)

Memory
19.8MiB live, 19.8MiB allocated
Pruning

9 alts after pruning (7 fresh and 2 done)

PrunedKeptTotal
New53760
Fresh000
Picked415
Done011
Total57966
Accuracy
99.2%
Counts
66 → 9
Alt Table
Click to see full alt table
StatusAccuracyProgram
75.0%
(/.f64 (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))) #s(literal 2 binary64))
45.3%
(/.f64 #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))))) #s(literal 2 binary64))
36.4%
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))))
34.8%
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (-.f64 #s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x)) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))))
14.6%
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)))
52.1%
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))))
2.6%
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps)))
9.6%
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))
27.8%
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (+.f64 #s(literal 1 binary64) eps)))
Compiler

Compiled 920 to 414 computations (55% saved)

simplify4.0ms (0.1%)

Memory
-37.5MiB live, 3.4MiB allocated
Algorithm
egg-herbie
Localize:

Found 18 expressions of interest:

NewMetricScoreProgram
cost-diff0
(exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))
cost-diff0
#s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))))
cost-diff0
#s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))))
cost-diff0
(/.f64 #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))))) #s(literal 2 binary64))
cost-diff0
(/.f64 #s(literal 1 binary64) eps)
cost-diff0
#s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps))
cost-diff0
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps)))
cost-diff0
(*.f64 (+.f64 #s(literal 1 binary64) eps) x)
cost-diff0
#s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x))
cost-diff0
#s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))
cost-diff0
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))
cost-diff0
(+.f64 #s(literal 1 binary64) eps)
cost-diff0
#s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (+.f64 #s(literal 1 binary64) eps))
cost-diff0
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (+.f64 #s(literal 1 binary64) eps)))
cost-diff0
(/.f64 #s(literal 1 binary64) eps)
cost-diff0
(+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps))
cost-diff0
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
cost-diff0
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))))
Calls
Call 1
Inputs
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))))
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
(+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps))
#s(literal 1 binary64)
(/.f64 #s(literal 1 binary64) eps)
eps
#s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))
(exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))
(neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))
(*.f64 (+.f64 #s(literal 1 binary64) eps) x)
(+.f64 #s(literal 1 binary64) eps)
x
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (+.f64 #s(literal 1 binary64) eps)))
#s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (+.f64 #s(literal 1 binary64) eps))
(+.f64 #s(literal 1 binary64) eps)
#s(literal 1 binary64)
eps
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))
#s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))
#s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x))
(*.f64 (+.f64 #s(literal 1 binary64) eps) x)
(+.f64 #s(literal 1 binary64) eps)
#s(literal 1 binary64)
eps
x
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps)))
#s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps))
(/.f64 #s(literal 1 binary64) eps)
#s(literal 1 binary64)
eps
(/.f64 #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))))) #s(literal 2 binary64))
#s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))))
#s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))))
(exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))
(neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))
(*.f64 (-.f64 #s(literal 1 binary64) eps) x)
(-.f64 #s(literal 1 binary64) eps)
#s(literal 1 binary64)
eps
x
#s(literal 2 binary64)
Outputs
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))))
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
(+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps))
#s(literal 1 binary64)
(/.f64 #s(literal 1 binary64) eps)
eps
#s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))
(exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))
(neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))
(*.f64 (+.f64 #s(literal 1 binary64) eps) x)
(+.f64 #s(literal 1 binary64) eps)
x
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (+.f64 #s(literal 1 binary64) eps)))
#s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (+.f64 #s(literal 1 binary64) eps))
(+.f64 #s(literal 1 binary64) eps)
#s(literal 1 binary64)
eps
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))
#s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))
#s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x))
(*.f64 (+.f64 #s(literal 1 binary64) eps) x)
(+.f64 #s(literal 1 binary64) eps)
#s(literal 1 binary64)
eps
x
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps)))
#s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps))
(/.f64 #s(literal 1 binary64) eps)
#s(literal 1 binary64)
eps
(/.f64 #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))))) #s(literal 2 binary64))
#s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))))
#s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))))
(exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))
(neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))
(*.f64 (-.f64 #s(literal 1 binary64) eps) x)
(-.f64 #s(literal 1 binary64) eps)
#s(literal 1 binary64)
eps
x
#s(literal 2 binary64)

localize75.0ms (2.5%)

Memory
15.7MiB live, 130.6MiB allocated
Localize:

Found 18 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))
accuracy0.0
(exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))
accuracy52.14191159693656
#s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))))
accuracy52.35716973182353
#s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))))
accuracy0.0
(/.f64 #s(literal 1 binary64) eps)
accuracy20.921875
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps)))
accuracy62.324310028738196
#s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps))
accuracy0.0
#s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))
accuracy0.00390625
(*.f64 (+.f64 #s(literal 1 binary64) eps) x)
accuracy20.921875
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))
accuracy57.85576387230491
#s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x))
accuracy0.0
(+.f64 #s(literal 1 binary64) eps)
accuracy31.66668275312001
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (+.f64 #s(literal 1 binary64) eps)))
accuracy62.018022262339535
#s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (+.f64 #s(literal 1 binary64) eps))
accuracy0.00390625
(*.f64 (+.f64 #s(literal 1 binary64) eps) x)
accuracy0.01171875
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
accuracy27.363916954768136
#s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))
accuracy31.66668275312001
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))))
Samples
28.0ms66×1valid
27.0ms190×0valid
Compiler

Compiled 1 006 to 65 computations (93.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 36.0ms
ival-exp: 10.0ms (28.2% of total)
ival-mult: 7.0ms (19.7% of total)
ival-div: 5.0ms (14.1% of total)
ival-sub: 4.0ms (11.3% of total)
ival-add: 3.0ms (8.4% of total)
adjust: 3.0ms (8.4% of total)
ival-neg: 3.0ms (8.4% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series11.0ms (0.4%)

Memory
22.8MiB live, 22.8MiB allocated
Counts
19 → 80
Calls
Call 1
Inputs
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))))
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
(+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps))
(/.f64 #s(literal 1 binary64) eps)
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (+.f64 #s(literal 1 binary64) eps)))
#s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (+.f64 #s(literal 1 binary64) eps))
(+.f64 #s(literal 1 binary64) eps)
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))
#s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))
#s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x))
(*.f64 (+.f64 #s(literal 1 binary64) eps) x)
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps)))
#s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps))
(/.f64 #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))))) #s(literal 2 binary64))
#s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))))
#s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))))
(exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))
#s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))
(neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))
Outputs
1
(+ 1 (* 1/2 (* x (- (* (+ 1 (/ 1 eps)) (- eps 1)) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1)))))))
(+ 1 (* x (+ (* 1/2 (* x (- (* 1/2 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2))) (* 1/2 (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1)))))) (* 1/2 (- (* (+ 1 (/ 1 eps)) (- eps 1)) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))))))))
(+ 1 (* x (+ (* 1/2 (- (* (+ 1 (/ 1 eps)) (- eps 1)) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))))) (* x (+ (* 1/2 (* x (- (* 1/6 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 3))) (* -1/6 (* (pow (+ 1 eps) 3) (- (/ 1 eps) 1)))))) (* 1/2 (- (* 1/2 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2))) (* 1/2 (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1))))))))))
(+ 1 (/ 1 eps))
(+ 1 (+ (* x (* (+ 1 (/ 1 eps)) (- eps 1))) (/ 1 eps)))
(+ 1 (+ (* x (+ (* 1/2 (* x (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2)))) (* (+ 1 (/ 1 eps)) (- eps 1)))) (/ 1 eps)))
(+ 1 (+ (* x (+ (* x (+ (* 1/6 (* x (* (+ 1 (/ 1 eps)) (pow (- eps 1) 3)))) (* 1/2 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2))))) (* (+ 1 (/ 1 eps)) (- eps 1)))) (/ 1 eps)))
2
(+ 2 (* x (- (* (+ 1 (/ 1 eps)) (- eps 1)) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))))))
(+ 2 (* x (- (+ (* x (- (* 1/2 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2))) (* 1/2 (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1))))) (* (+ 1 (/ 1 eps)) (- eps 1))) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))))))
(+ 2 (* x (- (+ (* x (- (+ (* 1/2 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2))) (* x (- (* 1/6 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 3))) (* -1/6 (* (pow (+ 1 eps) 3) (- (/ 1 eps) 1)))))) (* 1/2 (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1))))) (* (+ 1 (/ 1 eps)) (- eps 1))) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))))))
(* x (+ 1 eps))
(- (/ 1 eps) 1)
(- (+ (* -1 (* x (* (+ 1 eps) (- (/ 1 eps) 1)))) (/ 1 eps)) 1)
(- (+ (* x (+ (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))) (* 1/2 (* x (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1)))))) (/ 1 eps)) 1)
(- (+ (* x (+ (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))) (* x (+ (* -1/6 (* x (* (pow (+ 1 eps) 3) (- (/ 1 eps) 1)))) (* 1/2 (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1))))))) (/ 1 eps)) 1)
(+ 1 (* x (- eps 1)))
(+ 1 (* x (- (+ eps (* 1/2 (* x (pow (- eps 1) 2)))) 1)))
(+ 1 (* x (- (+ eps (* x (+ (* 1/6 (* x (pow (- eps 1) 3))) (* 1/2 (pow (- eps 1) 2))))) 1)))
(* x (- eps 1))
(* 1/2 (- (* (exp (- (* eps x) x)) (+ 1 (/ 1 eps))) (* (exp (neg (+ x (* eps x)))) (- (/ 1 eps) 1))))
(* (exp (- (* eps x) x)) (+ 1 (/ 1 eps)))
(- (* (exp (- (* eps x) x)) (+ 1 (/ 1 eps))) (* (exp (neg (+ x (* eps x)))) (- (/ 1 eps) 1)))
(* (exp (neg (+ x (* eps x)))) (- (/ 1 eps) 1))
(exp (- (* eps x) x))
(* 1/2 (- (* (exp (neg (* x (- 1 eps)))) (+ 1 (/ 1 eps))) (* (exp (neg (* x (+ 1 eps)))) (- (/ 1 eps) 1))))
(* (exp (neg (* x (- 1 eps)))) (+ 1 (/ 1 eps)))
(- (* (exp (neg (* x (- 1 eps)))) (+ 1 (/ 1 eps))) (* (exp (neg (* x (+ 1 eps)))) (- (/ 1 eps) 1)))
(* (exp (neg (* x (+ 1 eps)))) (- (/ 1 eps) 1))
(exp (neg (* x (- 1 eps))))
(* -1 (* x (- 1 eps)))
(* 1/2 (- (+ (exp (neg x)) (* x (exp (neg x)))) (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x)))))))
(+ (* 1/2 (* (pow eps 2) (- (+ (* 1/6 (* (pow x 3) (exp (neg x)))) (* 1/2 (* (pow x 2) (exp (neg x))))) (+ (* -1/2 (* (pow x 2) (exp (neg x)))) (* -1/6 (* (pow x 3) (exp (neg x)))))))) (* 1/2 (- (+ (exp (neg x)) (* x (exp (neg x)))) (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x))))))))
(+ (* 1/2 (- (+ (exp (neg x)) (* x (exp (neg x)))) (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x))))))) (* (pow eps 2) (+ (* 1/2 (* (pow eps 2) (- (+ (* 1/120 (* (pow x 5) (exp (neg x)))) (* 1/24 (* (pow x 4) (exp (neg x))))) (+ (* -1/24 (* (pow x 4) (exp (neg x)))) (* -1/120 (* (pow x 5) (exp (neg x)))))))) (* 1/2 (- (+ (* 1/6 (* (pow x 3) (exp (neg x)))) (* 1/2 (* (pow x 2) (exp (neg x))))) (+ (* -1/2 (* (pow x 2) (exp (neg x)))) (* -1/6 (* (pow x 3) (exp (neg x))))))))))
(+ (* 1/2 (- (+ (exp (neg x)) (* x (exp (neg x)))) (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x))))))) (* (pow eps 2) (+ (* 1/2 (- (+ (* 1/6 (* (pow x 3) (exp (neg x)))) (* 1/2 (* (pow x 2) (exp (neg x))))) (+ (* -1/2 (* (pow x 2) (exp (neg x)))) (* -1/6 (* (pow x 3) (exp (neg x))))))) (* (pow eps 2) (+ (* 1/2 (* (pow eps 2) (- (+ (* 1/5040 (* (pow x 7) (exp (neg x)))) (* 1/720 (* (pow x 6) (exp (neg x))))) (+ (* -1/720 (* (pow x 6) (exp (neg x)))) (* -1/5040 (* (pow x 7) (exp (neg x)))))))) (* 1/2 (- (+ (* 1/120 (* (pow x 5) (exp (neg x)))) (* 1/24 (* (pow x 4) (exp (neg x))))) (+ (* -1/24 (* (pow x 4) (exp (neg x)))) (* -1/120 (* (pow x 5) (exp (neg x))))))))))))
(/ (exp (neg x)) eps)
(/ (+ (exp (neg x)) (* eps (+ (exp (neg x)) (* x (exp (neg x)))))) eps)
(/ (+ (exp (neg x)) (* eps (+ (exp (neg x)) (+ (* eps (+ (* 1/2 (* (pow x 2) (exp (neg x)))) (* x (exp (neg x))))) (* x (exp (neg x))))))) eps)
(/ (+ (exp (neg x)) (* eps (+ (exp (neg x)) (+ (* eps (+ (* 1/2 (* (pow x 2) (exp (neg x)))) (+ (* eps (+ (* 1/6 (* (pow x 3) (exp (neg x)))) (* 1/2 (* (pow x 2) (exp (neg x)))))) (* x (exp (neg x)))))) (* x (exp (neg x))))))) eps)
(/ 1 eps)
(/ (+ 1 eps) eps)
(+ 1 eps)
(- (+ (exp (neg x)) (* x (exp (neg x)))) (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x))))))
(- (+ (exp (neg x)) (+ (* x (exp (neg x))) (* (pow eps 2) (- (+ (* 1/6 (* (pow x 3) (exp (neg x)))) (* 1/2 (* (pow x 2) (exp (neg x))))) (+ (* -1/2 (* (pow x 2) (exp (neg x)))) (* -1/6 (* (pow x 3) (exp (neg x))))))))) (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x))))))
(- (+ (exp (neg x)) (+ (* x (exp (neg x))) (* (pow eps 2) (- (+ (* 1/6 (* (pow x 3) (exp (neg x)))) (+ (* 1/2 (* (pow x 2) (exp (neg x)))) (* (pow eps 2) (- (+ (* 1/120 (* (pow x 5) (exp (neg x)))) (* 1/24 (* (pow x 4) (exp (neg x))))) (+ (* -1/24 (* (pow x 4) (exp (neg x)))) (* -1/120 (* (pow x 5) (exp (neg x))))))))) (+ (* -1/2 (* (pow x 2) (exp (neg x)))) (* -1/6 (* (pow x 3) (exp (neg x))))))))) (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x))))))
(- (+ (exp (neg x)) (+ (* x (exp (neg x))) (* (pow eps 2) (- (+ (* 1/6 (* (pow x 3) (exp (neg x)))) (+ (* 1/2 (* (pow x 2) (exp (neg x)))) (* (pow eps 2) (- (+ (* 1/120 (* (pow x 5) (exp (neg x)))) (+ (* 1/24 (* (pow x 4) (exp (neg x)))) (* (pow eps 2) (- (+ (* 1/5040 (* (pow x 7) (exp (neg x)))) (* 1/720 (* (pow x 6) (exp (neg x))))) (+ (* -1/720 (* (pow x 6) (exp (neg x)))) (* -1/5040 (* (pow x 7) (exp (neg x))))))))) (+ (* -1/24 (* (pow x 4) (exp (neg x)))) (* -1/120 (* (pow x 5) (exp (neg x))))))))) (+ (* -1/2 (* (pow x 2) (exp (neg x)))) (* -1/6 (* (pow x 3) (exp (neg x))))))))) (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x))))))
x
(+ x (* eps x))
(/ (+ (exp (neg x)) (* eps (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x))))))) eps)
(/ (+ (exp (neg x)) (* eps (+ (* -1 (exp (neg x))) (+ (* -1 (* x (exp (neg x)))) (* eps (+ (* 1/2 (* (pow x 2) (exp (neg x)))) (* x (exp (neg x))))))))) eps)
(/ (+ (exp (neg x)) (* eps (+ (* -1 (exp (neg x))) (+ (* -1 (* x (exp (neg x)))) (* eps (+ (* 1/2 (* (pow x 2) (exp (neg x)))) (+ (* eps (+ (* -1/2 (* (pow x 2) (exp (neg x)))) (* -1/6 (* (pow x 3) (exp (neg x)))))) (* x (exp (neg x)))))))))) eps)
(exp (neg x))
(+ (exp (neg x)) (* eps (* x (exp (neg x)))))
(+ (exp (neg x)) (* eps (+ (* 1/2 (* eps (* (pow x 2) (exp (neg x))))) (* x (exp (neg x))))))
(+ (exp (neg x)) (* eps (+ (* eps (+ (* 1/6 (* eps (* (pow x 3) (exp (neg x))))) (* 1/2 (* (pow x 2) (exp (neg x)))))) (* x (exp (neg x))))))
(* -1 x)
(- (* eps x) x)
(* 1/2 (- (exp (neg (* x (- 1 eps)))) (* -1 (exp (neg (* x (+ 1 eps)))))))
(+ (* 1/2 (- (exp (neg (* x (- 1 eps)))) (* -1 (exp (neg (* x (+ 1 eps))))))) (* 1/2 (/ (- (exp (neg (* x (- 1 eps)))) (exp (neg (* x (+ 1 eps))))) eps)))
(+ (exp (neg (* x (- 1 eps)))) (/ (exp (neg (* x (- 1 eps)))) eps))
eps
(* eps (+ 1 (/ 1 eps)))
(- (exp (neg (* x (- 1 eps)))) (* -1 (exp (neg (* x (+ 1 eps))))))
(- (+ (exp (neg (* x (- 1 eps)))) (/ (exp (neg (* x (- 1 eps)))) eps)) (+ (* -1 (exp (neg (* x (+ 1 eps))))) (/ (exp (neg (* x (+ 1 eps)))) eps)))
(* eps x)
(* eps (+ x (/ x eps)))
(* -1 (exp (neg (* x (+ 1 eps)))))
(+ (* -1 (exp (neg (* x (+ 1 eps))))) (/ (exp (neg (* x (+ 1 eps)))) eps))
(* eps (- (* -1 (/ x eps)) (* -1 x)))
(* 1/2 (- (exp (neg (* x (+ 1 (* -1 eps))))) (* -1 (exp (neg (* x (- 1 (* -1 eps))))))))
(+ (* -1/2 (/ (- (* -1 (exp (neg (* x (+ 1 (* -1 eps)))))) (* -1 (exp (neg (* x (- 1 (* -1 eps))))))) eps)) (* 1/2 (- (exp (neg (* x (+ 1 (* -1 eps))))) (* -1 (exp (neg (* x (- 1 (* -1 eps)))))))))
(exp (neg (* x (+ 1 (* -1 eps)))))
(+ (exp (neg (* x (+ 1 (* -1 eps))))) (/ (exp (neg (* x (+ 1 (* -1 eps))))) eps))
(- (exp (neg (* x (+ 1 (* -1 eps))))) (* -1 (exp (neg (* x (- 1 (* -1 eps)))))))
(- (+ (exp (neg (* x (+ 1 (* -1 eps))))) (* -1 (/ (- (* -1 (exp (neg (* x (+ 1 (* -1 eps)))))) (* -1 (exp (neg (* x (- 1 (* -1 eps))))))) eps))) (* -1 (exp (neg (* x (- 1 (* -1 eps)))))))
(* -1 (* eps (+ (* -1 x) (* -1 (/ x eps)))))
(* -1 (exp (neg (* x (- 1 (* -1 eps))))))
(+ (* -1 (exp (neg (* x (- 1 (* -1 eps)))))) (/ (exp (neg (* x (- 1 (* -1 eps))))) eps))
(* -1 (* eps (- (/ x eps) x)))
Calls

6 calls:

TimeVariablePointExpression
2.0ms
x
@-inf
((/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (+ 1 (/ 1 eps)) (/ 1 eps) (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (+ 1 eps) (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (* (+ 1 eps) x) (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (exp (neg (* (- 1 eps) x))) (exp (neg (* (- 1 eps) x))) (neg (* (- 1 eps) x)))
2.0ms
eps
@0
((/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (+ 1 (/ 1 eps)) (/ 1 eps) (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (+ 1 eps) (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (* (+ 1 eps) x) (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (exp (neg (* (- 1 eps) x))) (exp (neg (* (- 1 eps) x))) (neg (* (- 1 eps) x)))
2.0ms
x
@inf
((/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (+ 1 (/ 1 eps)) (/ 1 eps) (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (+ 1 eps) (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (* (+ 1 eps) x) (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (exp (neg (* (- 1 eps) x))) (exp (neg (* (- 1 eps) x))) (neg (* (- 1 eps) x)))
1.0ms
eps
@-inf
((/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (+ 1 (/ 1 eps)) (/ 1 eps) (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (+ 1 eps) (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (* (+ 1 eps) x) (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (exp (neg (* (- 1 eps) x))) (exp (neg (* (- 1 eps) x))) (neg (* (- 1 eps) x)))
1.0ms
x
@0
((/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (+ 1 (/ 1 eps)) (/ 1 eps) (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (+ 1 eps) (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (* (+ 1 eps) x) (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (exp (neg (* (- 1 eps) x))) (exp (neg (* (- 1 eps) x))) (neg (* (- 1 eps) x)))

simplify2.0ms (0.1%)

Memory
4.1MiB live, 4.1MiB allocated
Algorithm
egg-herbie
Counts
80 → 19
Calls
Call 1
Inputs
1
(+ 1 (* 1/2 (* x (- (* (+ 1 (/ 1 eps)) (- eps 1)) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1)))))))
(+ 1 (* x (+ (* 1/2 (* x (- (* 1/2 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2))) (* 1/2 (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1)))))) (* 1/2 (- (* (+ 1 (/ 1 eps)) (- eps 1)) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))))))))
(+ 1 (* x (+ (* 1/2 (- (* (+ 1 (/ 1 eps)) (- eps 1)) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))))) (* x (+ (* 1/2 (* x (- (* 1/6 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 3))) (* -1/6 (* (pow (+ 1 eps) 3) (- (/ 1 eps) 1)))))) (* 1/2 (- (* 1/2 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2))) (* 1/2 (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1))))))))))
(+ 1 (/ 1 eps))
(+ 1 (+ (* x (* (+ 1 (/ 1 eps)) (- eps 1))) (/ 1 eps)))
(+ 1 (+ (* x (+ (* 1/2 (* x (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2)))) (* (+ 1 (/ 1 eps)) (- eps 1)))) (/ 1 eps)))
(+ 1 (+ (* x (+ (* x (+ (* 1/6 (* x (* (+ 1 (/ 1 eps)) (pow (- eps 1) 3)))) (* 1/2 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2))))) (* (+ 1 (/ 1 eps)) (- eps 1)))) (/ 1 eps)))
2
(+ 2 (* x (- (* (+ 1 (/ 1 eps)) (- eps 1)) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))))))
(+ 2 (* x (- (+ (* x (- (* 1/2 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2))) (* 1/2 (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1))))) (* (+ 1 (/ 1 eps)) (- eps 1))) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))))))
(+ 2 (* x (- (+ (* x (- (+ (* 1/2 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2))) (* x (- (* 1/6 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 3))) (* -1/6 (* (pow (+ 1 eps) 3) (- (/ 1 eps) 1)))))) (* 1/2 (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1))))) (* (+ 1 (/ 1 eps)) (- eps 1))) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))))))
(* x (+ 1 eps))
(- (/ 1 eps) 1)
(- (+ (* -1 (* x (* (+ 1 eps) (- (/ 1 eps) 1)))) (/ 1 eps)) 1)
(- (+ (* x (+ (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))) (* 1/2 (* x (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1)))))) (/ 1 eps)) 1)
(- (+ (* x (+ (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))) (* x (+ (* -1/6 (* x (* (pow (+ 1 eps) 3) (- (/ 1 eps) 1)))) (* 1/2 (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1))))))) (/ 1 eps)) 1)
(+ 1 (* x (- eps 1)))
(+ 1 (* x (- (+ eps (* 1/2 (* x (pow (- eps 1) 2)))) 1)))
(+ 1 (* x (- (+ eps (* x (+ (* 1/6 (* x (pow (- eps 1) 3))) (* 1/2 (pow (- eps 1) 2))))) 1)))
(* x (- eps 1))
(* 1/2 (- (* (exp (- (* eps x) x)) (+ 1 (/ 1 eps))) (* (exp (neg (+ x (* eps x)))) (- (/ 1 eps) 1))))
(* (exp (- (* eps x) x)) (+ 1 (/ 1 eps)))
(- (* (exp (- (* eps x) x)) (+ 1 (/ 1 eps))) (* (exp (neg (+ x (* eps x)))) (- (/ 1 eps) 1)))
(* (exp (neg (+ x (* eps x)))) (- (/ 1 eps) 1))
(exp (- (* eps x) x))
(* 1/2 (- (* (exp (neg (* x (- 1 eps)))) (+ 1 (/ 1 eps))) (* (exp (neg (* x (+ 1 eps)))) (- (/ 1 eps) 1))))
(* (exp (neg (* x (- 1 eps)))) (+ 1 (/ 1 eps)))
(- (* (exp (neg (* x (- 1 eps)))) (+ 1 (/ 1 eps))) (* (exp (neg (* x (+ 1 eps)))) (- (/ 1 eps) 1)))
(* (exp (neg (* x (+ 1 eps)))) (- (/ 1 eps) 1))
(exp (neg (* x (- 1 eps))))
(* -1 (* x (- 1 eps)))
(* 1/2 (- (+ (exp (neg x)) (* x (exp (neg x)))) (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x)))))))
(+ (* 1/2 (* (pow eps 2) (- (+ (* 1/6 (* (pow x 3) (exp (neg x)))) (* 1/2 (* (pow x 2) (exp (neg x))))) (+ (* -1/2 (* (pow x 2) (exp (neg x)))) (* -1/6 (* (pow x 3) (exp (neg x)))))))) (* 1/2 (- (+ (exp (neg x)) (* x (exp (neg x)))) (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x))))))))
(+ (* 1/2 (- (+ (exp (neg x)) (* x (exp (neg x)))) (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x))))))) (* (pow eps 2) (+ (* 1/2 (* (pow eps 2) (- (+ (* 1/120 (* (pow x 5) (exp (neg x)))) (* 1/24 (* (pow x 4) (exp (neg x))))) (+ (* -1/24 (* (pow x 4) (exp (neg x)))) (* -1/120 (* (pow x 5) (exp (neg x)))))))) (* 1/2 (- (+ (* 1/6 (* (pow x 3) (exp (neg x)))) (* 1/2 (* (pow x 2) (exp (neg x))))) (+ (* -1/2 (* (pow x 2) (exp (neg x)))) (* -1/6 (* (pow x 3) (exp (neg x))))))))))
(+ (* 1/2 (- (+ (exp (neg x)) (* x (exp (neg x)))) (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x))))))) (* (pow eps 2) (+ (* 1/2 (- (+ (* 1/6 (* (pow x 3) (exp (neg x)))) (* 1/2 (* (pow x 2) (exp (neg x))))) (+ (* -1/2 (* (pow x 2) (exp (neg x)))) (* -1/6 (* (pow x 3) (exp (neg x))))))) (* (pow eps 2) (+ (* 1/2 (* (pow eps 2) (- (+ (* 1/5040 (* (pow x 7) (exp (neg x)))) (* 1/720 (* (pow x 6) (exp (neg x))))) (+ (* -1/720 (* (pow x 6) (exp (neg x)))) (* -1/5040 (* (pow x 7) (exp (neg x)))))))) (* 1/2 (- (+ (* 1/120 (* (pow x 5) (exp (neg x)))) (* 1/24 (* (pow x 4) (exp (neg x))))) (+ (* -1/24 (* (pow x 4) (exp (neg x)))) (* -1/120 (* (pow x 5) (exp (neg x))))))))))))
(/ (exp (neg x)) eps)
(/ (+ (exp (neg x)) (* eps (+ (exp (neg x)) (* x (exp (neg x)))))) eps)
(/ (+ (exp (neg x)) (* eps (+ (exp (neg x)) (+ (* eps (+ (* 1/2 (* (pow x 2) (exp (neg x)))) (* x (exp (neg x))))) (* x (exp (neg x))))))) eps)
(/ (+ (exp (neg x)) (* eps (+ (exp (neg x)) (+ (* eps (+ (* 1/2 (* (pow x 2) (exp (neg x)))) (+ (* eps (+ (* 1/6 (* (pow x 3) (exp (neg x)))) (* 1/2 (* (pow x 2) (exp (neg x)))))) (* x (exp (neg x)))))) (* x (exp (neg x))))))) eps)
(/ 1 eps)
(/ (+ 1 eps) eps)
(+ 1 eps)
(- (+ (exp (neg x)) (* x (exp (neg x)))) (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x))))))
(- (+ (exp (neg x)) (+ (* x (exp (neg x))) (* (pow eps 2) (- (+ (* 1/6 (* (pow x 3) (exp (neg x)))) (* 1/2 (* (pow x 2) (exp (neg x))))) (+ (* -1/2 (* (pow x 2) (exp (neg x)))) (* -1/6 (* (pow x 3) (exp (neg x))))))))) (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x))))))
(- (+ (exp (neg x)) (+ (* x (exp (neg x))) (* (pow eps 2) (- (+ (* 1/6 (* (pow x 3) (exp (neg x)))) (+ (* 1/2 (* (pow x 2) (exp (neg x)))) (* (pow eps 2) (- (+ (* 1/120 (* (pow x 5) (exp (neg x)))) (* 1/24 (* (pow x 4) (exp (neg x))))) (+ (* -1/24 (* (pow x 4) (exp (neg x)))) (* -1/120 (* (pow x 5) (exp (neg x))))))))) (+ (* -1/2 (* (pow x 2) (exp (neg x)))) (* -1/6 (* (pow x 3) (exp (neg x))))))))) (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x))))))
(- (+ (exp (neg x)) (+ (* x (exp (neg x))) (* (pow eps 2) (- (+ (* 1/6 (* (pow x 3) (exp (neg x)))) (+ (* 1/2 (* (pow x 2) (exp (neg x)))) (* (pow eps 2) (- (+ (* 1/120 (* (pow x 5) (exp (neg x)))) (+ (* 1/24 (* (pow x 4) (exp (neg x)))) (* (pow eps 2) (- (+ (* 1/5040 (* (pow x 7) (exp (neg x)))) (* 1/720 (* (pow x 6) (exp (neg x))))) (+ (* -1/720 (* (pow x 6) (exp (neg x)))) (* -1/5040 (* (pow x 7) (exp (neg x))))))))) (+ (* -1/24 (* (pow x 4) (exp (neg x)))) (* -1/120 (* (pow x 5) (exp (neg x))))))))) (+ (* -1/2 (* (pow x 2) (exp (neg x)))) (* -1/6 (* (pow x 3) (exp (neg x))))))))) (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x))))))
x
(+ x (* eps x))
(/ (+ (exp (neg x)) (* eps (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x))))))) eps)
(/ (+ (exp (neg x)) (* eps (+ (* -1 (exp (neg x))) (+ (* -1 (* x (exp (neg x)))) (* eps (+ (* 1/2 (* (pow x 2) (exp (neg x)))) (* x (exp (neg x))))))))) eps)
(/ (+ (exp (neg x)) (* eps (+ (* -1 (exp (neg x))) (+ (* -1 (* x (exp (neg x)))) (* eps (+ (* 1/2 (* (pow x 2) (exp (neg x)))) (+ (* eps (+ (* -1/2 (* (pow x 2) (exp (neg x)))) (* -1/6 (* (pow x 3) (exp (neg x)))))) (* x (exp (neg x)))))))))) eps)
(exp (neg x))
(+ (exp (neg x)) (* eps (* x (exp (neg x)))))
(+ (exp (neg x)) (* eps (+ (* 1/2 (* eps (* (pow x 2) (exp (neg x))))) (* x (exp (neg x))))))
(+ (exp (neg x)) (* eps (+ (* eps (+ (* 1/6 (* eps (* (pow x 3) (exp (neg x))))) (* 1/2 (* (pow x 2) (exp (neg x)))))) (* x (exp (neg x))))))
(* -1 x)
(- (* eps x) x)
(* 1/2 (- (exp (neg (* x (- 1 eps)))) (* -1 (exp (neg (* x (+ 1 eps)))))))
(+ (* 1/2 (- (exp (neg (* x (- 1 eps)))) (* -1 (exp (neg (* x (+ 1 eps))))))) (* 1/2 (/ (- (exp (neg (* x (- 1 eps)))) (exp (neg (* x (+ 1 eps))))) eps)))
(+ (exp (neg (* x (- 1 eps)))) (/ (exp (neg (* x (- 1 eps)))) eps))
eps
(* eps (+ 1 (/ 1 eps)))
(- (exp (neg (* x (- 1 eps)))) (* -1 (exp (neg (* x (+ 1 eps))))))
(- (+ (exp (neg (* x (- 1 eps)))) (/ (exp (neg (* x (- 1 eps)))) eps)) (+ (* -1 (exp (neg (* x (+ 1 eps))))) (/ (exp (neg (* x (+ 1 eps)))) eps)))
(* eps x)
(* eps (+ x (/ x eps)))
(* -1 (exp (neg (* x (+ 1 eps)))))
(+ (* -1 (exp (neg (* x (+ 1 eps))))) (/ (exp (neg (* x (+ 1 eps)))) eps))
(* eps (- (* -1 (/ x eps)) (* -1 x)))
(* 1/2 (- (exp (neg (* x (+ 1 (* -1 eps))))) (* -1 (exp (neg (* x (- 1 (* -1 eps))))))))
(+ (* -1/2 (/ (- (* -1 (exp (neg (* x (+ 1 (* -1 eps)))))) (* -1 (exp (neg (* x (- 1 (* -1 eps))))))) eps)) (* 1/2 (- (exp (neg (* x (+ 1 (* -1 eps))))) (* -1 (exp (neg (* x (- 1 (* -1 eps)))))))))
(exp (neg (* x (+ 1 (* -1 eps)))))
(+ (exp (neg (* x (+ 1 (* -1 eps))))) (/ (exp (neg (* x (+ 1 (* -1 eps))))) eps))
(- (exp (neg (* x (+ 1 (* -1 eps))))) (* -1 (exp (neg (* x (- 1 (* -1 eps)))))))
(- (+ (exp (neg (* x (+ 1 (* -1 eps))))) (* -1 (/ (- (* -1 (exp (neg (* x (+ 1 (* -1 eps)))))) (* -1 (exp (neg (* x (- 1 (* -1 eps))))))) eps))) (* -1 (exp (neg (* x (- 1 (* -1 eps)))))))
(* -1 (* eps (+ (* -1 x) (* -1 (/ x eps)))))
(* -1 (exp (neg (* x (- 1 (* -1 eps))))))
(+ (* -1 (exp (neg (* x (- 1 (* -1 eps)))))) (/ (exp (neg (* x (- 1 (* -1 eps))))) eps))
(* -1 (* eps (- (/ x eps) x)))
Outputs
1
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))))
(+ 1 (* 1/2 (* x (- (* (+ 1 (/ 1 eps)) (- eps 1)) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1)))))))
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
(+ 1 (* x (+ (* 1/2 (* x (- (* 1/2 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2))) (* 1/2 (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1)))))) (* 1/2 (- (* (+ 1 (/ 1 eps)) (- eps 1)) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))))))))
(+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps))
(+ 1 (* x (+ (* 1/2 (- (* (+ 1 (/ 1 eps)) (- eps 1)) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))))) (* x (+ (* 1/2 (* x (- (* 1/6 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 3))) (* -1/6 (* (pow (+ 1 eps) 3) (- (/ 1 eps) 1)))))) (* 1/2 (- (* 1/2 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2))) (* 1/2 (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1))))))))))
(/.f64 #s(literal 1 binary64) eps)
(+ 1 (/ 1 eps))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (+.f64 #s(literal 1 binary64) eps)))
(+ 1 (+ (* x (* (+ 1 (/ 1 eps)) (- eps 1))) (/ 1 eps)))
#s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (+.f64 #s(literal 1 binary64) eps))
(+ 1 (+ (* x (+ (* 1/2 (* x (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2)))) (* (+ 1 (/ 1 eps)) (- eps 1)))) (/ 1 eps)))
(+.f64 #s(literal 1 binary64) eps)
(+ 1 (+ (* x (+ (* x (+ (* 1/6 (* x (* (+ 1 (/ 1 eps)) (pow (- eps 1) 3)))) (* 1/2 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2))))) (* (+ 1 (/ 1 eps)) (- eps 1)))) (/ 1 eps)))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))
2
#s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))
(+ 2 (* x (- (* (+ 1 (/ 1 eps)) (- eps 1)) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))))))
#s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x))
(+ 2 (* x (- (+ (* x (- (* 1/2 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2))) (* 1/2 (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1))))) (* (+ 1 (/ 1 eps)) (- eps 1))) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))))))
(*.f64 (+.f64 #s(literal 1 binary64) eps) x)
(+ 2 (* x (- (+ (* x (- (+ (* 1/2 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2))) (* x (- (* 1/6 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 3))) (* -1/6 (* (pow (+ 1 eps) 3) (- (/ 1 eps) 1)))))) (* 1/2 (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1))))) (* (+ 1 (/ 1 eps)) (- eps 1))) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))))))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps)))
(* x (+ 1 eps))
#s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps))
(- (/ 1 eps) 1)
(/.f64 #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))))) #s(literal 2 binary64))
(- (+ (* -1 (* x (* (+ 1 eps) (- (/ 1 eps) 1)))) (/ 1 eps)) 1)
#s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))))
(- (+ (* x (+ (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))) (* 1/2 (* x (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1)))))) (/ 1 eps)) 1)
#s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))))
(- (+ (* x (+ (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))) (* x (+ (* -1/6 (* x (* (pow (+ 1 eps) 3) (- (/ 1 eps) 1)))) (* 1/2 (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1))))))) (/ 1 eps)) 1)
(exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))
(+ 1 (* x (- eps 1)))
#s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))
(+ 1 (* x (- (+ eps (* 1/2 (* x (pow (- eps 1) 2)))) 1)))
(neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))

rewrite8.0ms (0.3%)

Memory
-41.3MiB live, 2.7MiB allocated
Counts
19 → 19
Calls
Call 1
Inputs
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))))
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
(+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps))
(/.f64 #s(literal 1 binary64) eps)
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (+.f64 #s(literal 1 binary64) eps)))
#s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (+.f64 #s(literal 1 binary64) eps))
(+.f64 #s(literal 1 binary64) eps)
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))
#s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))
#s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x))
(*.f64 (+.f64 #s(literal 1 binary64) eps) x)
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps)))
#s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps))
(/.f64 #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))))) #s(literal 2 binary64))
#s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))))
#s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))))
(exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))
#s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))
(neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))
Outputs
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))))
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
(+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps))
(/.f64 #s(literal 1 binary64) eps)
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (+.f64 #s(literal 1 binary64) eps)))
#s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (+.f64 #s(literal 1 binary64) eps))
(+.f64 #s(literal 1 binary64) eps)
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))
#s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))
#s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x))
(*.f64 (+.f64 #s(literal 1 binary64) eps) x)
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps)))
#s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps))
(/.f64 #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))))) #s(literal 2 binary64))
#s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))))
#s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))))
(exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))
#s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))
(neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))

eval4.0ms (0.1%)

Memory
9.2MiB live, 9.2MiB allocated
Compiler

Compiled 2 621 to 84 computations (96.8% saved)

prune16.0ms (0.5%)

Memory
-5.5MiB live, 33.4MiB allocated
Pruning

10 alts after pruning (4 fresh and 6 done)

PrunedKeptTotal
New36238
Fresh022
Picked145
Done022
Total371047
Accuracy
99.2%
Counts
47 → 10
Alt Table
Click to see full alt table
StatusAccuracyProgram
75.0%
(/.f64 (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))) #s(literal 2 binary64))
45.3%
(/.f64 #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))))) #s(literal 2 binary64))
46.8%
(/.f64 #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) #s(approx (exp (neg (* (- 1 eps) x))) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))))) #s(literal 2 binary64))
36.4%
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))))
34.8%
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (-.f64 #s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x)) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))))
14.6%
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)))
22.3%
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 #s(approx (* (+ 1 eps) x) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps))))))))
2.6%
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps)))
9.6%
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))
27.8%
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (+.f64 #s(literal 1 binary64) eps)))
Compiler

Compiled 591 to 256 computations (56.7% saved)

simplify3.0ms (0.1%)

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

Found 16 expressions of interest:

NewMetricScoreProgram
cost-diff0
#s(approx (exp (neg (* (- 1 eps) x))) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
cost-diff0
#s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) #s(approx (exp (neg (* (- 1 eps) x))) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))))
cost-diff0
#s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) #s(approx (exp (neg (* (- 1 eps) x))) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))))
cost-diff0
(/.f64 #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) #s(approx (exp (neg (* (- 1 eps) x))) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))))) #s(literal 2 binary64))
cost-diff0
(+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps))
cost-diff0
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))))
cost-diff0
(-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))))
cost-diff0
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))))
cost-diff0
(*.f64 (+.f64 #s(literal 1 binary64) eps) x)
cost-diff0
#s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x))
cost-diff0
(-.f64 #s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x)) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
cost-diff0
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (-.f64 #s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x)) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))))
cost-diff0
(/.f64 #s(literal 1 binary64) eps)
cost-diff0
(+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps))
cost-diff0
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 #s(approx (* (+ 1 eps) x) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps)))))))
cost-diff0
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 #s(approx (* (+ 1 eps) x) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps))))))))
Calls
Call 1
Inputs
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 #s(approx (* (+ 1 eps) x) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps))))))))
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 #s(approx (* (+ 1 eps) x) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps)))))))
(+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps))
#s(literal 1 binary64)
(/.f64 #s(literal 1 binary64) eps)
eps
#s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 #s(approx (* (+ 1 eps) x) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps))))))
(exp.f64 (neg.f64 #s(approx (* (+ 1 eps) x) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps)))))
(neg.f64 #s(approx (* (+ 1 eps) x) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps))))
#s(approx (* (+ 1 eps) x) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps)))
#s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (-.f64 #s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x)) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))))
(-.f64 #s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x)) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
#s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x))
(*.f64 (+.f64 #s(literal 1 binary64) eps) x)
(+.f64 #s(literal 1 binary64) eps)
#s(literal 1 binary64)
eps
x
(*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))
(-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) eps)
(exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))
(neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))))
(-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))))
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))))
(+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps))
#s(literal 1 binary64)
(/.f64 #s(literal 1 binary64) eps)
eps
(exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))
(neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))
(*.f64 (-.f64 #s(literal 1 binary64) eps) x)
(-.f64 #s(literal 1 binary64) eps)
x
#s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))
(/.f64 #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) #s(approx (exp (neg (* (- 1 eps) x))) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))))) #s(literal 2 binary64))
#s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) #s(approx (exp (neg (* (- 1 eps) x))) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))))
#s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) #s(approx (exp (neg (* (- 1 eps) x))) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))))
#s(approx (exp (neg (* (- 1 eps) x))) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
#s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))
(exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))
(neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))
(*.f64 (+.f64 #s(literal 1 binary64) eps) x)
(+.f64 #s(literal 1 binary64) eps)
#s(literal 1 binary64)
eps
x
#s(literal 2 binary64)
Outputs
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 #s(approx (* (+ 1 eps) x) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps))))))))
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 #s(approx (* (+ 1 eps) x) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps)))))))
(+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps))
#s(literal 1 binary64)
(/.f64 #s(literal 1 binary64) eps)
eps
#s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 #s(approx (* (+ 1 eps) x) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps))))))
(exp.f64 (neg.f64 #s(approx (* (+ 1 eps) x) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps)))))
(neg.f64 #s(approx (* (+ 1 eps) x) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps))))
#s(approx (* (+ 1 eps) x) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps)))
#s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (-.f64 #s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x)) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))))
(-.f64 #s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x)) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
#s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x))
(*.f64 (+.f64 #s(literal 1 binary64) eps) x)
(+.f64 #s(literal 1 binary64) eps)
#s(literal 1 binary64)
eps
x
(*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))
(-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) eps)
(exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))
(neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))))
(-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))))
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))))
(+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps))
#s(literal 1 binary64)
(/.f64 #s(literal 1 binary64) eps)
eps
(exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))
(neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))
(*.f64 (-.f64 #s(literal 1 binary64) eps) x)
(-.f64 #s(literal 1 binary64) eps)
x
#s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))
(/.f64 #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) #s(approx (exp (neg (* (- 1 eps) x))) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))))) #s(literal 2 binary64))
#s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) #s(approx (exp (neg (* (- 1 eps) x))) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))))
#s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) #s(approx (exp (neg (* (- 1 eps) x))) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))))
#s(approx (exp (neg (* (- 1 eps) x))) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
#s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))
(exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))
(neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))
(*.f64 (+.f64 #s(literal 1 binary64) eps) x)
(+.f64 #s(literal 1 binary64) eps)
#s(literal 1 binary64)
eps
x
#s(literal 2 binary64)

localize82.0ms (2.7%)

Memory
29.7MiB live, 146.3MiB allocated
Localize:

Found 16 expressions of interest:

NewMetricScoreProgram
accuracy0.00390625
(*.f64 (+.f64 #s(literal 1 binary64) eps) x)
accuracy27.363916954768136
#s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))
accuracy52.14191159693656
#s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) #s(approx (exp (neg (* (- 1 eps) x))) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))))
accuracy52.35716973182353
#s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) #s(approx (exp (neg (* (- 1 eps) x))) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))))
accuracy0.01171875
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))))
accuracy15.985928671562753
(-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))))
accuracy20.921875
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))))
accuracy57.049898772216196
#s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))
accuracy0.01171875
(*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))
accuracy15.985928671562753
(-.f64 #s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x)) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
accuracy20.921875
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (-.f64 #s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x)) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))))
accuracy57.8842265183745
#s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x))
accuracy27.363916954768136
#s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 #s(approx (* (+ 1 eps) x) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps))))))
accuracy31.66668275312001
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 #s(approx (* (+ 1 eps) x) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps))))))))
accuracy57.85576387230491
#s(approx (* (+ 1 eps) x) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps)))
accuracy62.324310028738196
#s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps))
Samples
32.0ms190×0valid
27.0ms66×1valid
Compiler

Compiled 1 335 to 73 computations (94.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 35.0ms
ival-exp: 9.0ms (25.9% of total)
ival-mult: 7.0ms (20.2% of total)
ival-div: 5.0ms (14.4% of total)
ival-add: 4.0ms (11.5% of total)
ival-sub: 4.0ms (11.5% of total)
adjust: 3.0ms (8.6% of total)
ival-neg: 3.0ms (8.6% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series12.0ms (0.4%)

Memory
-17.3MiB live, 21.1MiB allocated
Counts
21 → 71
Calls
Call 1
Inputs
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 #s(approx (* (+ 1 eps) x) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps))))))))
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 #s(approx (* (+ 1 eps) x) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps)))))))
(+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps))
(/.f64 #s(literal 1 binary64) eps)
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (-.f64 #s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x)) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))))
(-.f64 #s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x)) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
#s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x))
(*.f64 (+.f64 #s(literal 1 binary64) eps) x)
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))))
(-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))))
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))))
(/.f64 #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) #s(approx (exp (neg (* (- 1 eps) x))) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))))) #s(literal 2 binary64))
#s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) #s(approx (exp (neg (* (- 1 eps) x))) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))))
#s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) #s(approx (exp (neg (* (- 1 eps) x))) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))))
#s(approx (exp (neg (* (- 1 eps) x))) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
#s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps))
#s(approx (* (+ 1 eps) x) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps)))
#s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 #s(approx (* (+ 1 eps) x) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps))))))
(*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))
#s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))
#s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))
Outputs
1
(+ 1 (* 1/2 (* x (- (* (+ 1 (/ 1 eps)) (- eps 1)) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1)))))))
(+ 1 (* x (+ (* 1/2 (* x (- (* 1/2 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2))) (* 1/2 (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1)))))) (* 1/2 (- (* (+ 1 (/ 1 eps)) (- eps 1)) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))))))))
(+ 1 (* x (+ (* 1/2 (- (* (+ 1 (/ 1 eps)) (- eps 1)) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))))) (* x (+ (* 1/2 (* x (- (* 1/6 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 3))) (* -1/6 (* (pow (+ 1 eps) 3) (- (/ 1 eps) 1)))))) (* 1/2 (- (* 1/2 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2))) (* 1/2 (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1))))))))))
(+ 1 (/ 1 eps))
(+ 1 (+ (* x (* (+ 1 (/ 1 eps)) (- eps 1))) (/ 1 eps)))
(+ 1 (+ (* x (+ (* 1/2 (* x (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2)))) (* (+ 1 (/ 1 eps)) (- eps 1)))) (/ 1 eps)))
(+ 1 (+ (* x (+ (* x (+ (* 1/6 (* x (* (+ 1 (/ 1 eps)) (pow (- eps 1) 3)))) (* 1/2 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2))))) (* (+ 1 (/ 1 eps)) (- eps 1)))) (/ 1 eps)))
2
(+ 2 (* x (- (* (+ 1 (/ 1 eps)) (- eps 1)) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))))))
(+ 2 (* x (- (+ (* x (- (* 1/2 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2))) (* 1/2 (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1))))) (* (+ 1 (/ 1 eps)) (- eps 1))) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))))))
(+ 2 (* x (- (+ (* x (- (+ (* 1/2 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2))) (* x (- (* 1/6 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 3))) (* -1/6 (* (pow (+ 1 eps) 3) (- (/ 1 eps) 1)))))) (* 1/2 (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1))))) (* (+ 1 (/ 1 eps)) (- eps 1))) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))))))
(* x (+ 1 eps))
(- (/ 1 eps) 1)
(- (+ (* -1 (* x (* (+ 1 eps) (- (/ 1 eps) 1)))) (/ 1 eps)) 1)
(- (+ (* x (+ (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))) (* 1/2 (* x (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1)))))) (/ 1 eps)) 1)
(- (+ (* x (+ (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))) (* x (+ (* -1/6 (* x (* (pow (+ 1 eps) 3) (- (/ 1 eps) 1)))) (* 1/2 (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1))))))) (/ 1 eps)) 1)
(+ 1 (* x (- eps 1)))
(+ 1 (* x (- (+ eps (* 1/2 (* x (pow (- eps 1) 2)))) 1)))
(+ 1 (* x (- (+ eps (* x (+ (* 1/6 (* x (pow (- eps 1) 3))) (* 1/2 (pow (- eps 1) 2))))) 1)))
(* 1/2 (- (* (exp (- (* eps x) x)) (+ 1 (/ 1 eps))) (* (exp (neg (+ x (* eps x)))) (- (/ 1 eps) 1))))
(* (exp (- (* eps x) x)) (+ 1 (/ 1 eps)))
(- (* (exp (- (* eps x) x)) (+ 1 (/ 1 eps))) (* (exp (neg (+ x (* eps x)))) (- (/ 1 eps) 1)))
(* (exp (neg (+ x (* eps x)))) (- (/ 1 eps) 1))
(exp (- (* eps x) x))
(* 1/2 (- (* (exp (neg (* x (- 1 eps)))) (+ 1 (/ 1 eps))) (* (exp (neg (* x (+ 1 eps)))) (- (/ 1 eps) 1))))
(* (exp (neg (* x (- 1 eps)))) (+ 1 (/ 1 eps)))
(- (* (exp (neg (* x (- 1 eps)))) (+ 1 (/ 1 eps))) (* (exp (neg (* x (+ 1 eps)))) (- (/ 1 eps) 1)))
(* (exp (neg (* x (+ 1 eps)))) (- (/ 1 eps) 1))
(exp (neg (* x (- 1 eps))))
(* 1/2 (- (+ (exp (neg x)) (* x (exp (neg x)))) (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x)))))))
(+ (* 1/2 (* (pow eps 2) (- (+ (* 1/6 (* (pow x 3) (exp (neg x)))) (* 1/2 (* (pow x 2) (exp (neg x))))) (+ (* -1/2 (* (pow x 2) (exp (neg x)))) (* -1/6 (* (pow x 3) (exp (neg x)))))))) (* 1/2 (- (+ (exp (neg x)) (* x (exp (neg x)))) (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x))))))))
(+ (* 1/2 (- (+ (exp (neg x)) (* x (exp (neg x)))) (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x))))))) (* (pow eps 2) (+ (* 1/2 (* (pow eps 2) (- (+ (* 1/120 (* (pow x 5) (exp (neg x)))) (* 1/24 (* (pow x 4) (exp (neg x))))) (+ (* -1/24 (* (pow x 4) (exp (neg x)))) (* -1/120 (* (pow x 5) (exp (neg x)))))))) (* 1/2 (- (+ (* 1/6 (* (pow x 3) (exp (neg x)))) (* 1/2 (* (pow x 2) (exp (neg x))))) (+ (* -1/2 (* (pow x 2) (exp (neg x)))) (* -1/6 (* (pow x 3) (exp (neg x))))))))))
(+ (* 1/2 (- (+ (exp (neg x)) (* x (exp (neg x)))) (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x))))))) (* (pow eps 2) (+ (* 1/2 (- (+ (* 1/6 (* (pow x 3) (exp (neg x)))) (* 1/2 (* (pow x 2) (exp (neg x))))) (+ (* -1/2 (* (pow x 2) (exp (neg x)))) (* -1/6 (* (pow x 3) (exp (neg x))))))) (* (pow eps 2) (+ (* 1/2 (* (pow eps 2) (- (+ (* 1/5040 (* (pow x 7) (exp (neg x)))) (* 1/720 (* (pow x 6) (exp (neg x))))) (+ (* -1/720 (* (pow x 6) (exp (neg x)))) (* -1/5040 (* (pow x 7) (exp (neg x)))))))) (* 1/2 (- (+ (* 1/120 (* (pow x 5) (exp (neg x)))) (* 1/24 (* (pow x 4) (exp (neg x))))) (+ (* -1/24 (* (pow x 4) (exp (neg x)))) (* -1/120 (* (pow x 5) (exp (neg x))))))))))))
(/ (exp (neg x)) eps)
(/ (+ (exp (neg x)) (* eps (+ (exp (neg x)) (* x (exp (neg x)))))) eps)
(/ (+ (exp (neg x)) (* eps (+ (exp (neg x)) (+ (* eps (+ (* 1/2 (* (pow x 2) (exp (neg x)))) (* x (exp (neg x))))) (* x (exp (neg x))))))) eps)
(/ (+ (exp (neg x)) (* eps (+ (exp (neg x)) (+ (* eps (+ (* 1/2 (* (pow x 2) (exp (neg x)))) (+ (* eps (+ (* 1/6 (* (pow x 3) (exp (neg x)))) (* 1/2 (* (pow x 2) (exp (neg x)))))) (* x (exp (neg x)))))) (* x (exp (neg x))))))) eps)
(/ 1 eps)
(/ (+ 1 eps) eps)
(- (+ (exp (neg x)) (* x (exp (neg x)))) (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x))))))
(- (+ (exp (neg x)) (+ (* x (exp (neg x))) (* (pow eps 2) (- (+ (* 1/6 (* (pow x 3) (exp (neg x)))) (* 1/2 (* (pow x 2) (exp (neg x))))) (+ (* -1/2 (* (pow x 2) (exp (neg x)))) (* -1/6 (* (pow x 3) (exp (neg x))))))))) (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x))))))
(- (+ (exp (neg x)) (+ (* x (exp (neg x))) (* (pow eps 2) (- (+ (* 1/6 (* (pow x 3) (exp (neg x)))) (+ (* 1/2 (* (pow x 2) (exp (neg x)))) (* (pow eps 2) (- (+ (* 1/120 (* (pow x 5) (exp (neg x)))) (* 1/24 (* (pow x 4) (exp (neg x))))) (+ (* -1/24 (* (pow x 4) (exp (neg x)))) (* -1/120 (* (pow x 5) (exp (neg x))))))))) (+ (* -1/2 (* (pow x 2) (exp (neg x)))) (* -1/6 (* (pow x 3) (exp (neg x))))))))) (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x))))))
(- (+ (exp (neg x)) (+ (* x (exp (neg x))) (* (pow eps 2) (- (+ (* 1/6 (* (pow x 3) (exp (neg x)))) (+ (* 1/2 (* (pow x 2) (exp (neg x)))) (* (pow eps 2) (- (+ (* 1/120 (* (pow x 5) (exp (neg x)))) (+ (* 1/24 (* (pow x 4) (exp (neg x)))) (* (pow eps 2) (- (+ (* 1/5040 (* (pow x 7) (exp (neg x)))) (* 1/720 (* (pow x 6) (exp (neg x))))) (+ (* -1/720 (* (pow x 6) (exp (neg x)))) (* -1/5040 (* (pow x 7) (exp (neg x))))))))) (+ (* -1/24 (* (pow x 4) (exp (neg x)))) (* -1/120 (* (pow x 5) (exp (neg x))))))))) (+ (* -1/2 (* (pow x 2) (exp (neg x)))) (* -1/6 (* (pow x 3) (exp (neg x))))))))) (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x))))))
x
(+ x (* eps x))
(/ (+ (exp (neg x)) (* eps (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x))))))) eps)
(/ (+ (exp (neg x)) (* eps (+ (* -1 (exp (neg x))) (+ (* -1 (* x (exp (neg x)))) (* eps (+ (* 1/2 (* (pow x 2) (exp (neg x)))) (* x (exp (neg x))))))))) eps)
(/ (+ (exp (neg x)) (* eps (+ (* -1 (exp (neg x))) (+ (* -1 (* x (exp (neg x)))) (* eps (+ (* 1/2 (* (pow x 2) (exp (neg x)))) (+ (* eps (+ (* -1/2 (* (pow x 2) (exp (neg x)))) (* -1/6 (* (pow x 3) (exp (neg x)))))) (* x (exp (neg x)))))))))) eps)
(exp (neg x))
(+ (exp (neg x)) (* eps (* x (exp (neg x)))))
(+ (exp (neg x)) (* eps (+ (* 1/2 (* eps (* (pow x 2) (exp (neg x))))) (* x (exp (neg x))))))
(+ (exp (neg x)) (* eps (+ (* eps (+ (* 1/6 (* eps (* (pow x 3) (exp (neg x))))) (* 1/2 (* (pow x 2) (exp (neg x)))))) (* x (exp (neg x))))))
(* 1/2 (- (exp (neg (* x (- 1 eps)))) (* -1 (exp (neg (* x (+ 1 eps)))))))
(+ (* 1/2 (- (exp (neg (* x (- 1 eps)))) (* -1 (exp (neg (* x (+ 1 eps))))))) (* 1/2 (/ (- (exp (neg (* x (- 1 eps)))) (exp (neg (* x (+ 1 eps))))) eps)))
(+ (exp (neg (* x (- 1 eps)))) (/ (exp (neg (* x (- 1 eps)))) eps))
(- (exp (neg (* x (- 1 eps)))) (* -1 (exp (neg (* x (+ 1 eps))))))
(- (+ (exp (neg (* x (- 1 eps)))) (/ (exp (neg (* x (- 1 eps)))) eps)) (+ (* -1 (exp (neg (* x (+ 1 eps))))) (/ (exp (neg (* x (+ 1 eps)))) eps)))
(* eps x)
(* eps (+ x (/ x eps)))
(* -1 (exp (neg (* x (+ 1 eps)))))
(+ (* -1 (exp (neg (* x (+ 1 eps))))) (/ (exp (neg (* x (+ 1 eps)))) eps))
(* 1/2 (- (exp (neg (* x (+ 1 (* -1 eps))))) (* -1 (exp (neg (* x (- 1 (* -1 eps))))))))
(+ (* -1/2 (/ (- (* -1 (exp (neg (* x (+ 1 (* -1 eps)))))) (* -1 (exp (neg (* x (- 1 (* -1 eps))))))) eps)) (* 1/2 (- (exp (neg (* x (+ 1 (* -1 eps))))) (* -1 (exp (neg (* x (- 1 (* -1 eps)))))))))
(exp (neg (* x (+ 1 (* -1 eps)))))
(+ (exp (neg (* x (+ 1 (* -1 eps))))) (/ (exp (neg (* x (+ 1 (* -1 eps))))) eps))
(- (exp (neg (* x (+ 1 (* -1 eps))))) (* -1 (exp (neg (* x (- 1 (* -1 eps)))))))
(- (+ (exp (neg (* x (+ 1 (* -1 eps))))) (* -1 (/ (- (* -1 (exp (neg (* x (+ 1 (* -1 eps)))))) (* -1 (exp (neg (* x (- 1 (* -1 eps))))))) eps))) (* -1 (exp (neg (* x (- 1 (* -1 eps)))))))
(* -1 (* eps (+ (* -1 x) (* -1 (/ x eps)))))
(* -1 (exp (neg (* x (- 1 (* -1 eps))))))
(+ (* -1 (exp (neg (* x (- 1 (* -1 eps)))))) (/ (exp (neg (* x (- 1 (* -1 eps))))) eps))
Calls

6 calls:

TimeVariablePointExpression
3.0ms
x
@inf
((/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (+ 1 (/ 1 eps)) (/ 1 eps) (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (+ 1 eps) x) (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (exp (neg (* (- 1 eps) x))) (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (* (+ 1 eps) x) (exp (neg (* (- 1 eps) x))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (exp (neg (* (- 1 eps) x))))
2.0ms
eps
@0
((/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (+ 1 (/ 1 eps)) (/ 1 eps) (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (+ 1 eps) x) (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (exp (neg (* (- 1 eps) x))) (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (* (+ 1 eps) x) (exp (neg (* (- 1 eps) x))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (exp (neg (* (- 1 eps) x))))
1.0ms
x
@-inf
((/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (+ 1 (/ 1 eps)) (/ 1 eps) (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (+ 1 eps) x) (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (exp (neg (* (- 1 eps) x))) (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (* (+ 1 eps) x) (exp (neg (* (- 1 eps) x))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (exp (neg (* (- 1 eps) x))))
1.0ms
eps
@-inf
((/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (+ 1 (/ 1 eps)) (/ 1 eps) (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (+ 1 eps) x) (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (exp (neg (* (- 1 eps) x))) (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (* (+ 1 eps) x) (exp (neg (* (- 1 eps) x))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (exp (neg (* (- 1 eps) x))))
1.0ms
x
@0
((/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (+ 1 (/ 1 eps)) (/ 1 eps) (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (+ 1 eps) x) (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (exp (neg (* (- 1 eps) x))) (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (* (+ 1 eps) x) (exp (neg (* (- 1 eps) x))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (exp (neg (* (- 1 eps) x))))

simplify2.0ms (0.1%)

Memory
4.1MiB live, 4.1MiB allocated
Algorithm
egg-herbie
Counts
71 → 21
Calls
Call 1
Inputs
1
(+ 1 (* 1/2 (* x (- (* (+ 1 (/ 1 eps)) (- eps 1)) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1)))))))
(+ 1 (* x (+ (* 1/2 (* x (- (* 1/2 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2))) (* 1/2 (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1)))))) (* 1/2 (- (* (+ 1 (/ 1 eps)) (- eps 1)) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))))))))
(+ 1 (* x (+ (* 1/2 (- (* (+ 1 (/ 1 eps)) (- eps 1)) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))))) (* x (+ (* 1/2 (* x (- (* 1/6 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 3))) (* -1/6 (* (pow (+ 1 eps) 3) (- (/ 1 eps) 1)))))) (* 1/2 (- (* 1/2 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2))) (* 1/2 (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1))))))))))
(+ 1 (/ 1 eps))
(+ 1 (+ (* x (* (+ 1 (/ 1 eps)) (- eps 1))) (/ 1 eps)))
(+ 1 (+ (* x (+ (* 1/2 (* x (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2)))) (* (+ 1 (/ 1 eps)) (- eps 1)))) (/ 1 eps)))
(+ 1 (+ (* x (+ (* x (+ (* 1/6 (* x (* (+ 1 (/ 1 eps)) (pow (- eps 1) 3)))) (* 1/2 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2))))) (* (+ 1 (/ 1 eps)) (- eps 1)))) (/ 1 eps)))
2
(+ 2 (* x (- (* (+ 1 (/ 1 eps)) (- eps 1)) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))))))
(+ 2 (* x (- (+ (* x (- (* 1/2 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2))) (* 1/2 (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1))))) (* (+ 1 (/ 1 eps)) (- eps 1))) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))))))
(+ 2 (* x (- (+ (* x (- (+ (* 1/2 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2))) (* x (- (* 1/6 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 3))) (* -1/6 (* (pow (+ 1 eps) 3) (- (/ 1 eps) 1)))))) (* 1/2 (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1))))) (* (+ 1 (/ 1 eps)) (- eps 1))) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))))))
(* x (+ 1 eps))
(- (/ 1 eps) 1)
(- (+ (* -1 (* x (* (+ 1 eps) (- (/ 1 eps) 1)))) (/ 1 eps)) 1)
(- (+ (* x (+ (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))) (* 1/2 (* x (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1)))))) (/ 1 eps)) 1)
(- (+ (* x (+ (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))) (* x (+ (* -1/6 (* x (* (pow (+ 1 eps) 3) (- (/ 1 eps) 1)))) (* 1/2 (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1))))))) (/ 1 eps)) 1)
(+ 1 (* x (- eps 1)))
(+ 1 (* x (- (+ eps (* 1/2 (* x (pow (- eps 1) 2)))) 1)))
(+ 1 (* x (- (+ eps (* x (+ (* 1/6 (* x (pow (- eps 1) 3))) (* 1/2 (pow (- eps 1) 2))))) 1)))
(* 1/2 (- (* (exp (- (* eps x) x)) (+ 1 (/ 1 eps))) (* (exp (neg (+ x (* eps x)))) (- (/ 1 eps) 1))))
(* (exp (- (* eps x) x)) (+ 1 (/ 1 eps)))
(- (* (exp (- (* eps x) x)) (+ 1 (/ 1 eps))) (* (exp (neg (+ x (* eps x)))) (- (/ 1 eps) 1)))
(* (exp (neg (+ x (* eps x)))) (- (/ 1 eps) 1))
(exp (- (* eps x) x))
(* 1/2 (- (* (exp (neg (* x (- 1 eps)))) (+ 1 (/ 1 eps))) (* (exp (neg (* x (+ 1 eps)))) (- (/ 1 eps) 1))))
(* (exp (neg (* x (- 1 eps)))) (+ 1 (/ 1 eps)))
(- (* (exp (neg (* x (- 1 eps)))) (+ 1 (/ 1 eps))) (* (exp (neg (* x (+ 1 eps)))) (- (/ 1 eps) 1)))
(* (exp (neg (* x (+ 1 eps)))) (- (/ 1 eps) 1))
(exp (neg (* x (- 1 eps))))
(* 1/2 (- (+ (exp (neg x)) (* x (exp (neg x)))) (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x)))))))
(+ (* 1/2 (* (pow eps 2) (- (+ (* 1/6 (* (pow x 3) (exp (neg x)))) (* 1/2 (* (pow x 2) (exp (neg x))))) (+ (* -1/2 (* (pow x 2) (exp (neg x)))) (* -1/6 (* (pow x 3) (exp (neg x)))))))) (* 1/2 (- (+ (exp (neg x)) (* x (exp (neg x)))) (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x))))))))
(+ (* 1/2 (- (+ (exp (neg x)) (* x (exp (neg x)))) (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x))))))) (* (pow eps 2) (+ (* 1/2 (* (pow eps 2) (- (+ (* 1/120 (* (pow x 5) (exp (neg x)))) (* 1/24 (* (pow x 4) (exp (neg x))))) (+ (* -1/24 (* (pow x 4) (exp (neg x)))) (* -1/120 (* (pow x 5) (exp (neg x)))))))) (* 1/2 (- (+ (* 1/6 (* (pow x 3) (exp (neg x)))) (* 1/2 (* (pow x 2) (exp (neg x))))) (+ (* -1/2 (* (pow x 2) (exp (neg x)))) (* -1/6 (* (pow x 3) (exp (neg x))))))))))
(+ (* 1/2 (- (+ (exp (neg x)) (* x (exp (neg x)))) (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x))))))) (* (pow eps 2) (+ (* 1/2 (- (+ (* 1/6 (* (pow x 3) (exp (neg x)))) (* 1/2 (* (pow x 2) (exp (neg x))))) (+ (* -1/2 (* (pow x 2) (exp (neg x)))) (* -1/6 (* (pow x 3) (exp (neg x))))))) (* (pow eps 2) (+ (* 1/2 (* (pow eps 2) (- (+ (* 1/5040 (* (pow x 7) (exp (neg x)))) (* 1/720 (* (pow x 6) (exp (neg x))))) (+ (* -1/720 (* (pow x 6) (exp (neg x)))) (* -1/5040 (* (pow x 7) (exp (neg x)))))))) (* 1/2 (- (+ (* 1/120 (* (pow x 5) (exp (neg x)))) (* 1/24 (* (pow x 4) (exp (neg x))))) (+ (* -1/24 (* (pow x 4) (exp (neg x)))) (* -1/120 (* (pow x 5) (exp (neg x))))))))))))
(/ (exp (neg x)) eps)
(/ (+ (exp (neg x)) (* eps (+ (exp (neg x)) (* x (exp (neg x)))))) eps)
(/ (+ (exp (neg x)) (* eps (+ (exp (neg x)) (+ (* eps (+ (* 1/2 (* (pow x 2) (exp (neg x)))) (* x (exp (neg x))))) (* x (exp (neg x))))))) eps)
(/ (+ (exp (neg x)) (* eps (+ (exp (neg x)) (+ (* eps (+ (* 1/2 (* (pow x 2) (exp (neg x)))) (+ (* eps (+ (* 1/6 (* (pow x 3) (exp (neg x)))) (* 1/2 (* (pow x 2) (exp (neg x)))))) (* x (exp (neg x)))))) (* x (exp (neg x))))))) eps)
(/ 1 eps)
(/ (+ 1 eps) eps)
(- (+ (exp (neg x)) (* x (exp (neg x)))) (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x))))))
(- (+ (exp (neg x)) (+ (* x (exp (neg x))) (* (pow eps 2) (- (+ (* 1/6 (* (pow x 3) (exp (neg x)))) (* 1/2 (* (pow x 2) (exp (neg x))))) (+ (* -1/2 (* (pow x 2) (exp (neg x)))) (* -1/6 (* (pow x 3) (exp (neg x))))))))) (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x))))))
(- (+ (exp (neg x)) (+ (* x (exp (neg x))) (* (pow eps 2) (- (+ (* 1/6 (* (pow x 3) (exp (neg x)))) (+ (* 1/2 (* (pow x 2) (exp (neg x)))) (* (pow eps 2) (- (+ (* 1/120 (* (pow x 5) (exp (neg x)))) (* 1/24 (* (pow x 4) (exp (neg x))))) (+ (* -1/24 (* (pow x 4) (exp (neg x)))) (* -1/120 (* (pow x 5) (exp (neg x))))))))) (+ (* -1/2 (* (pow x 2) (exp (neg x)))) (* -1/6 (* (pow x 3) (exp (neg x))))))))) (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x))))))
(- (+ (exp (neg x)) (+ (* x (exp (neg x))) (* (pow eps 2) (- (+ (* 1/6 (* (pow x 3) (exp (neg x)))) (+ (* 1/2 (* (pow x 2) (exp (neg x)))) (* (pow eps 2) (- (+ (* 1/120 (* (pow x 5) (exp (neg x)))) (+ (* 1/24 (* (pow x 4) (exp (neg x)))) (* (pow eps 2) (- (+ (* 1/5040 (* (pow x 7) (exp (neg x)))) (* 1/720 (* (pow x 6) (exp (neg x))))) (+ (* -1/720 (* (pow x 6) (exp (neg x)))) (* -1/5040 (* (pow x 7) (exp (neg x))))))))) (+ (* -1/24 (* (pow x 4) (exp (neg x)))) (* -1/120 (* (pow x 5) (exp (neg x))))))))) (+ (* -1/2 (* (pow x 2) (exp (neg x)))) (* -1/6 (* (pow x 3) (exp (neg x))))))))) (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x))))))
x
(+ x (* eps x))
(/ (+ (exp (neg x)) (* eps (+ (* -1 (exp (neg x))) (* -1 (* x (exp (neg x))))))) eps)
(/ (+ (exp (neg x)) (* eps (+ (* -1 (exp (neg x))) (+ (* -1 (* x (exp (neg x)))) (* eps (+ (* 1/2 (* (pow x 2) (exp (neg x)))) (* x (exp (neg x))))))))) eps)
(/ (+ (exp (neg x)) (* eps (+ (* -1 (exp (neg x))) (+ (* -1 (* x (exp (neg x)))) (* eps (+ (* 1/2 (* (pow x 2) (exp (neg x)))) (+ (* eps (+ (* -1/2 (* (pow x 2) (exp (neg x)))) (* -1/6 (* (pow x 3) (exp (neg x)))))) (* x (exp (neg x)))))))))) eps)
(exp (neg x))
(+ (exp (neg x)) (* eps (* x (exp (neg x)))))
(+ (exp (neg x)) (* eps (+ (* 1/2 (* eps (* (pow x 2) (exp (neg x))))) (* x (exp (neg x))))))
(+ (exp (neg x)) (* eps (+ (* eps (+ (* 1/6 (* eps (* (pow x 3) (exp (neg x))))) (* 1/2 (* (pow x 2) (exp (neg x)))))) (* x (exp (neg x))))))
(* 1/2 (- (exp (neg (* x (- 1 eps)))) (* -1 (exp (neg (* x (+ 1 eps)))))))
(+ (* 1/2 (- (exp (neg (* x (- 1 eps)))) (* -1 (exp (neg (* x (+ 1 eps))))))) (* 1/2 (/ (- (exp (neg (* x (- 1 eps)))) (exp (neg (* x (+ 1 eps))))) eps)))
(+ (exp (neg (* x (- 1 eps)))) (/ (exp (neg (* x (- 1 eps)))) eps))
(- (exp (neg (* x (- 1 eps)))) (* -1 (exp (neg (* x (+ 1 eps))))))
(- (+ (exp (neg (* x (- 1 eps)))) (/ (exp (neg (* x (- 1 eps)))) eps)) (+ (* -1 (exp (neg (* x (+ 1 eps))))) (/ (exp (neg (* x (+ 1 eps)))) eps)))
(* eps x)
(* eps (+ x (/ x eps)))
(* -1 (exp (neg (* x (+ 1 eps)))))
(+ (* -1 (exp (neg (* x (+ 1 eps))))) (/ (exp (neg (* x (+ 1 eps)))) eps))
(* 1/2 (- (exp (neg (* x (+ 1 (* -1 eps))))) (* -1 (exp (neg (* x (- 1 (* -1 eps))))))))
(+ (* -1/2 (/ (- (* -1 (exp (neg (* x (+ 1 (* -1 eps)))))) (* -1 (exp (neg (* x (- 1 (* -1 eps))))))) eps)) (* 1/2 (- (exp (neg (* x (+ 1 (* -1 eps))))) (* -1 (exp (neg (* x (- 1 (* -1 eps)))))))))
(exp (neg (* x (+ 1 (* -1 eps)))))
(+ (exp (neg (* x (+ 1 (* -1 eps))))) (/ (exp (neg (* x (+ 1 (* -1 eps))))) eps))
(- (exp (neg (* x (+ 1 (* -1 eps))))) (* -1 (exp (neg (* x (- 1 (* -1 eps)))))))
(- (+ (exp (neg (* x (+ 1 (* -1 eps))))) (* -1 (/ (- (* -1 (exp (neg (* x (+ 1 (* -1 eps)))))) (* -1 (exp (neg (* x (- 1 (* -1 eps))))))) eps))) (* -1 (exp (neg (* x (- 1 (* -1 eps)))))))
(* -1 (* eps (+ (* -1 x) (* -1 (/ x eps)))))
(* -1 (exp (neg (* x (- 1 (* -1 eps))))))
(+ (* -1 (exp (neg (* x (- 1 (* -1 eps)))))) (/ (exp (neg (* x (- 1 (* -1 eps))))) eps))
Outputs
1
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 #s(approx (* (+ 1 eps) x) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps))))))))
(+ 1 (* 1/2 (* x (- (* (+ 1 (/ 1 eps)) (- eps 1)) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1)))))))
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 #s(approx (* (+ 1 eps) x) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps)))))))
(+ 1 (* x (+ (* 1/2 (* x (- (* 1/2 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2))) (* 1/2 (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1)))))) (* 1/2 (- (* (+ 1 (/ 1 eps)) (- eps 1)) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))))))))
(+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps))
(+ 1 (* x (+ (* 1/2 (- (* (+ 1 (/ 1 eps)) (- eps 1)) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))))) (* x (+ (* 1/2 (* x (- (* 1/6 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 3))) (* -1/6 (* (pow (+ 1 eps) 3) (- (/ 1 eps) 1)))))) (* 1/2 (- (* 1/2 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2))) (* 1/2 (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1))))))))))
(/.f64 #s(literal 1 binary64) eps)
(+ 1 (/ 1 eps))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (-.f64 #s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x)) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))))
(+ 1 (+ (* x (* (+ 1 (/ 1 eps)) (- eps 1))) (/ 1 eps)))
(-.f64 #s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x)) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
(+ 1 (+ (* x (+ (* 1/2 (* x (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2)))) (* (+ 1 (/ 1 eps)) (- eps 1)))) (/ 1 eps)))
#s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x))
(+ 1 (+ (* x (+ (* x (+ (* 1/6 (* x (* (+ 1 (/ 1 eps)) (pow (- eps 1) 3)))) (* 1/2 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2))))) (* (+ 1 (/ 1 eps)) (- eps 1)))) (/ 1 eps)))
(*.f64 (+.f64 #s(literal 1 binary64) eps) x)
2
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))))
(+ 2 (* x (- (* (+ 1 (/ 1 eps)) (- eps 1)) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))))))
(-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))))
(+ 2 (* x (- (+ (* x (- (* 1/2 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2))) (* 1/2 (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1))))) (* (+ 1 (/ 1 eps)) (- eps 1))) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))))))
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))))
(+ 2 (* x (- (+ (* x (- (+ (* 1/2 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 2))) (* x (- (* 1/6 (* (+ 1 (/ 1 eps)) (pow (- eps 1) 3))) (* -1/6 (* (pow (+ 1 eps) 3) (- (/ 1 eps) 1)))))) (* 1/2 (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1))))) (* (+ 1 (/ 1 eps)) (- eps 1))) (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))))))
(/.f64 #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) #s(approx (exp (neg (* (- 1 eps) x))) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))))) #s(literal 2 binary64))
(* x (+ 1 eps))
#s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) #s(approx (exp (neg (* (- 1 eps) x))) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))))
(- (/ 1 eps) 1)
#s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) #s(approx (exp (neg (* (- 1 eps) x))) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))))
(- (+ (* -1 (* x (* (+ 1 eps) (- (/ 1 eps) 1)))) (/ 1 eps)) 1)
#s(approx (exp (neg (* (- 1 eps) x))) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
(- (+ (* x (+ (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))) (* 1/2 (* x (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1)))))) (/ 1 eps)) 1)
#s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps))
(- (+ (* x (+ (* -1 (* (+ 1 eps) (- (/ 1 eps) 1))) (* x (+ (* -1/6 (* x (* (pow (+ 1 eps) 3) (- (/ 1 eps) 1)))) (* 1/2 (* (pow (+ 1 eps) 2) (- (/ 1 eps) 1))))))) (/ 1 eps)) 1)
#s(approx (* (+ 1 eps) x) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps)))
(+ 1 (* x (- eps 1)))
#s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 #s(approx (* (+ 1 eps) x) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps))))))
(+ 1 (* x (- (+ eps (* 1/2 (* x (pow (- eps 1) 2)))) 1)))
(*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))
(+ 1 (* x (- (+ eps (* x (+ (* 1/6 (* x (pow (- eps 1) 3))) (* 1/2 (pow (- eps 1) 2))))) 1)))
#s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))
(* 1/2 (- (* (exp (- (* eps x) x)) (+ 1 (/ 1 eps))) (* (exp (neg (+ x (* eps x)))) (- (/ 1 eps) 1))))
#s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))

rewrite2.0ms (0.1%)

Memory
3.6MiB live, 3.6MiB allocated
Counts
21 → 21
Calls
Call 1
Inputs
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 #s(approx (* (+ 1 eps) x) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps))))))))
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 #s(approx (* (+ 1 eps) x) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps)))))))
(+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps))
(/.f64 #s(literal 1 binary64) eps)
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (-.f64 #s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x)) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))))
(-.f64 #s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x)) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
#s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x))
(*.f64 (+.f64 #s(literal 1 binary64) eps) x)
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))))
(-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))))
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))))
(/.f64 #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) #s(approx (exp (neg (* (- 1 eps) x))) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))))) #s(literal 2 binary64))
#s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) #s(approx (exp (neg (* (- 1 eps) x))) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))))
#s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) #s(approx (exp (neg (* (- 1 eps) x))) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))))
#s(approx (exp (neg (* (- 1 eps) x))) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
#s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps))
#s(approx (* (+ 1 eps) x) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps)))
#s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 #s(approx (* (+ 1 eps) x) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps))))))
(*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))
#s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))
#s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))
Outputs
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 #s(approx (* (+ 1 eps) x) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps))))))))
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 #s(approx (* (+ 1 eps) x) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps)))))))
(+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps))
(/.f64 #s(literal 1 binary64) eps)
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (-.f64 #s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x)) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))))
(-.f64 #s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x)) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
#s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x))
(*.f64 (+.f64 #s(literal 1 binary64) eps) x)
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))))
(-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))))
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))))
(/.f64 #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) #s(approx (exp (neg (* (- 1 eps) x))) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))))) #s(literal 2 binary64))
#s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) #s(approx (exp (neg (* (- 1 eps) x))) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))))
#s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) #s(approx (exp (neg (* (- 1 eps) x))) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))))
#s(approx (exp (neg (* (- 1 eps) x))) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
#s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps))
#s(approx (* (+ 1 eps) x) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps)))
#s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 #s(approx (* (+ 1 eps) x) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps))))))
(*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))
#s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))
#s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))

eval5.0ms (0.2%)

Memory
11.5MiB live, 11.5MiB allocated
Compiler

Compiled 3 624 to 106 computations (97.1% saved)

prune9.0ms (0.3%)

Memory
-21.1MiB live, 17.6MiB allocated
Pruning

9 alts after pruning (1 fresh and 8 done)

PrunedKeptTotal
New46147
Fresh000
Picked224
Done066
Total48957
Accuracy
99.2%
Counts
57 → 9
Alt Table
Click to see full alt table
StatusAccuracyProgram
75.0%
(/.f64 (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))) #s(literal 2 binary64))
45.3%
(/.f64 #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))))) #s(literal 2 binary64))
36.4%
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))))
34.8%
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (-.f64 #s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x)) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))))
14.6%
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)))
2.6%
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps)))
9.6%
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))
27.8%
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (+.f64 #s(literal 1 binary64) eps)))
77.9%
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
Compiler

Compiled 1 351 to 297 computations (78% saved)

regimes20.0ms (0.6%)

Memory
-0.9MiB live, 37.7MiB allocated
Counts
16 → 2
Calls
Call 1
Inputs
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (+.f64 #s(literal 1 binary64) eps)))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps)))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)))
(/.f64 #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x)) #s(literal 2 binary64))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
(/.f64 #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) #s(approx (exp (neg (* (- 1 eps) x))) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))))) #s(literal 2 binary64))
(/.f64 #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))))) #s(literal 2 binary64))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 #s(approx (* (+ 1 eps) x) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps))))))))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (-.f64 #s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x)) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))))
(/.f64 #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))) #s(literal 2 binary64))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))))
(/.f64 (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))) #s(literal 2 binary64))
Outputs
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
(/.f64 (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))) #s(literal 2 binary64))
Calls

4 calls:

6.0ms
x
5.0ms
eps
4.0ms
(-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
4.0ms
(/.f64 (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))) #s(literal 2 binary64))
Results
AccuracySegmentsBranch
92.5%3x
98.8%3eps
98.8%2(/.f64 (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))) #s(literal 2 binary64))
98.8%2(-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
Compiler

Compiled 58 to 40 computations (31% saved)

regimes9.0ms (0.3%)

Memory
18.5MiB live, 18.5MiB allocated
Counts
15 → 2
Calls
Call 1
Inputs
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (+.f64 #s(literal 1 binary64) eps)))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps)))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)))
(/.f64 #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x)) #s(literal 2 binary64))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
(/.f64 #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) #s(approx (exp (neg (* (- 1 eps) x))) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))))) #s(literal 2 binary64))
(/.f64 #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))))) #s(literal 2 binary64))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 #s(approx (* (+ 1 eps) x) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps))))))))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (-.f64 #s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x)) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))))
(/.f64 #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))) #s(literal 2 binary64))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))))
Outputs
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))))
Calls

2 calls:

4.0ms
(/.f64 (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))) #s(literal 2 binary64))
4.0ms
(-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
Results
AccuracySegmentsBranch
98.3%2(/.f64 (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))) #s(literal 2 binary64))
98.3%2(-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
Compiler

Compiled 56 to 36 computations (35.7% saved)

regimes19.0ms (0.6%)

Memory
-6.1MiB live, 34.3MiB allocated
Counts
14 → 2
Calls
Call 1
Inputs
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (+.f64 #s(literal 1 binary64) eps)))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps)))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)))
(/.f64 #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x)) #s(literal 2 binary64))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
(/.f64 #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) #s(approx (exp (neg (* (- 1 eps) x))) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))))) #s(literal 2 binary64))
(/.f64 #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))))) #s(literal 2 binary64))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 #s(approx (* (+ 1 eps) x) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps))))))))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (-.f64 #s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x)) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))))
(/.f64 #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))) #s(literal 2 binary64))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))))
Outputs
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))))
Calls

4 calls:

6.0ms
(/.f64 (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))) #s(literal 2 binary64))
4.0ms
eps
4.0ms
x
3.0ms
(-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
Results
AccuracySegmentsBranch
79.5%2x
81.5%2eps
77.9%1(/.f64 (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))) #s(literal 2 binary64))
77.9%1(-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
Compiler

Compiled 58 to 40 computations (31% saved)

regimes5.0ms (0.2%)

Memory
10.4MiB live, 10.4MiB allocated
Counts
13 → 2
Calls
Call 1
Inputs
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (+.f64 #s(literal 1 binary64) eps)))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps)))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)))
(/.f64 #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x)) #s(literal 2 binary64))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
(/.f64 #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) #s(approx (exp (neg (* (- 1 eps) x))) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))))) #s(literal 2 binary64))
(/.f64 #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))))) #s(literal 2 binary64))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 #s(approx (* (+ 1 eps) x) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps))))))))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (-.f64 #s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x)) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))))
(/.f64 #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))) #s(literal 2 binary64))
Outputs
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))))
Calls

1 calls:

4.0ms
eps
Results
AccuracySegmentsBranch
79.9%2eps
Compiler

Compiled 1 to 2 computations (-100% saved)

regimes8.0ms (0.3%)

Memory
-23.9MiB live, 14.8MiB allocated
Counts
9 → 1
Calls
Call 1
Inputs
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (+.f64 #s(literal 1 binary64) eps)))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps)))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)))
(/.f64 #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x)) #s(literal 2 binary64))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
(/.f64 #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) #s(approx (exp (neg (* (- 1 eps) x))) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))))) #s(literal 2 binary64))
(/.f64 #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))))) #s(literal 2 binary64))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))))
Outputs
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
Calls

2 calls:

4.0ms
eps
3.0ms
x
Results
AccuracySegmentsBranch
77.9%1x
77.9%1eps
Compiler

Compiled 2 to 4 computations (-100% saved)

regimes9.0ms (0.3%)

Memory
19.5MiB live, 19.5MiB allocated
Counts
5 → 3
Calls
Call 1
Inputs
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (+.f64 #s(literal 1 binary64) eps)))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps)))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)))
(/.f64 #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x)) #s(literal 2 binary64))
Outputs
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (+.f64 #s(literal 1 binary64) eps)))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))
Calls

4 calls:

2.0ms
eps
2.0ms
x
2.0ms
(/.f64 (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))) #s(literal 2 binary64))
2.0ms
(-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
Results
AccuracySegmentsBranch
45.1%3(/.f64 (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))) #s(literal 2 binary64))
45.1%3(-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
34.2%3x
41.9%4eps
Compiler

Compiled 58 to 40 computations (31% saved)

regimes5.0ms (0.2%)

Memory
11.8MiB live, 11.8MiB allocated
Counts
3 → 2
Calls
Call 1
Inputs
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (+.f64 #s(literal 1 binary64) eps)))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (/.f64 #s(literal 1 binary64) eps)))
Outputs
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (+.f64 #s(literal 1 binary64) eps)))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))
Calls

3 calls:

2.0ms
eps
1.0ms
(/.f64 (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))) #s(literal 2 binary64))
1.0ms
(-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
Results
AccuracySegmentsBranch
34.4%3eps
34.3%2(/.f64 (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))) #s(literal 2 binary64))
34.3%2(-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
Compiler

Compiled 57 to 38 computations (33.3% saved)

regimes6.0ms (0.2%)

Memory
-26.5MiB live, 12.4MiB allocated
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
Calls
Call 1
Inputs
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (+.f64 #s(literal 1 binary64) eps)))
Outputs
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (+.f64 #s(literal 1 binary64) eps)))
Calls

4 calls:

2.0ms
(-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
1.0ms
(/.f64 (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))) #s(literal 2 binary64))
1.0ms
eps
1.0ms
x
Results
AccuracySegmentsBranch
27.8%1x
27.8%1eps
27.8%1(/.f64 (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))) #s(literal 2 binary64))
27.8%1(-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
Compiler

Compiled 58 to 40 computations (31% saved)

bsearch0.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.0
2.0
Compiler

Compiled 32 to 24 computations (25% saved)

bsearch0.0ms (0%)

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

Compiled 32 to 24 computations (25% saved)

bsearch22.0ms (0.7%)

Memory
0.6MiB live, 39.1MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
20.0ms
4648.038559783669
85881558.81630398
Samples
14.0ms128×0valid
Compiler

Compiled 904 to 488 computations (46% saved)

Precisions
Click to see histograms. Total time spent on operations: 11.0ms
ival-mult: 3.0ms (26.5% of total)
ival-div: 2.0ms (17.7% of total)
ival-exp: 2.0ms (17.7% of total)
ival-add: 2.0ms (17.7% of total)
ival-sub: 2.0ms (17.7% of total)
ival-neg: 1.0ms (8.8% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

bsearch27.0ms (0.9%)

Memory
4.2MiB live, 44.1MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
24.0ms
1.6509334957820661e+41
4.137863490457972e+47
Samples
15.0ms144×0valid
Compiler

Compiled 824 to 528 computations (35.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 12.0ms
ival-mult: 3.0ms (25.1% of total)
ival-div: 2.0ms (16.7% of total)
ival-exp: 2.0ms (16.7% of total)
ival-sub: 2.0ms (16.7% of total)
ival-add: 1.0ms (8.4% of total)
ival-neg: 1.0ms (8.4% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

bsearch1.0ms (0%)

Memory
1.2MiB live, 1.2MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
2.0000035925821114
+inf
0.0ms
0.0
2.0
Compiler

Compiled 32 to 24 computations (25% saved)

bsearch0.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
2.000000000000017
2.0000035925821114
Compiler

Compiled 32 to 24 computations (25% saved)

simplify6.0ms (0.2%)

Memory
14.1MiB live, 14.1MiB allocated
Algorithm
egg-herbie
Calls
Call 1
Inputs
(if (<=.f64 (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))) #s(literal 0 binary64)) #s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))) (/.f64 (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))) #s(literal 2 binary64)))
(if (<=.f64 (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))) #s(literal 4 binary64)) #s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))) #s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))))
(if (<=.f64 eps #s(literal 3300000 binary64)) #s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))) #s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))))))
(if (<=.f64 eps #s(literal 280000000000000008854179432005115875256434688 binary64)) #s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))) #s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))))))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
(if (<=.f64 (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))) #s(literal 0 binary64)) #s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (+.f64 #s(literal 1 binary64) eps))) (if (<=.f64 (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))) #s(literal 4 binary64)) #s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps))) #s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))))
(if (<=.f64 (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))) #s(literal 4503604130970123/2251799813685248 binary64)) #s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (+.f64 #s(literal 1 binary64) eps))) #s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (+.f64 #s(literal 1 binary64) eps)))
Outputs
(if (<=.f64 (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))) #s(literal 0 binary64)) #s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))) (/.f64 (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))) #s(literal 2 binary64)))
(if (<=.f64 (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))) #s(literal 4 binary64)) #s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))) #s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))))
(if (<=.f64 eps #s(literal 3300000 binary64)) #s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))) #s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) #s(approx (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))))))
(if (<=.f64 eps #s(literal 280000000000000008854179432005115875256434688 binary64)) #s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))) #s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x))))))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (exp (neg (* (- 1 eps) x))) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
(if (<=.f64 (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))) #s(literal 0 binary64)) #s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (+.f64 #s(literal 1 binary64) eps))) (if (<=.f64 (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))) #s(literal 4 binary64)) #s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps))) #s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))))
(if (<=.f64 (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x))))) #s(literal 4503604130970123/2251799813685248 binary64)) #s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (+.f64 #s(literal 1 binary64) eps))) #s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) #s(approx (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
#s(approx (/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) #s(approx (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (+.f64 #s(literal 1 binary64) eps)))

soundness2.0ms (0.1%)

Memory
5.1MiB live, 5.1MiB allocated
Stop Event
fuel
Compiler

Compiled 934 to 66 computations (92.9% saved)

preprocess46.0ms (1.5%)

Memory
-23.2MiB live, 90.6MiB allocated
Compiler

Compiled 1 926 to 170 computations (91.2% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...