exp neg sub

Time bar (total: 4.6s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated

analyze0.0ms (0%)

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

Compiled 9 to 8 computations (11.1% saved)

sample1.2s (26.9%)

Memory
16.7MiB live, 1 236.4MiB allocated
Samples
990.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 782.0ms
ival-exp: 520.0ms (66.5% of total)
ival-mult: 148.0ms (18.9% of total)
ival-neg: 52.0ms (6.7% of total)
ival-sub: 47.0ms (6% of total)
ival-true: 6.0ms (0.8% of total)
exact: 5.0ms (0.6% of total)
ival-assert: 4.0ms (0.5% of total)
Bogosity

explain160.0ms (3.5%)

Memory
-18.4MiB live, 282.8MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-#s(literal 1 binary64)
00-0-(exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))))
00-0-(-.f64 #s(literal 1 binary64) (*.f64 x x))
00-0-(*.f64 x x)
00-0-(neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)))
00-0-x
Confusion
Predicted +Predicted -
+00
-0256
Precision
0/0
Recall
0/0
Confusion?
Predicted +Predicted MaybePredicted -
+000
-00256
Precision?
0/0
Recall?
0/0
Freqs
test
numberfreq
0256
Total Confusion?
Predicted +Predicted MaybePredicted -
+000
-001
Precision?
0/0
Recall?
0/0
Samples
99.0ms512×0valid
Compiler

Compiled 57 to 22 computations (61.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 70.0ms
ival-mult: 60.0ms (85.6% of total)
ival-exp: 4.0ms (5.7% of total)
ival-sub: 2.0ms (2.9% of total)
ival-neg: 2.0ms (2.9% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess232.0ms (5.1%)

Memory
14.8MiB live, 248.4MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0815
13013
27413
315613
428213
541013
663513
796813
8162513
9301313
10613513
067
0107
1226
2516
31066
41926
52936
64686
77766
812776
921096
1042916
1173866
080735
Stop Event
iter limit
node limit
iter limit
node limit
Calls
Call 1
Inputs
(exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))))
Outputs
(exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
Symmetry

(abs x)

Compiler

Compiled 7 to 6 computations (14.3% saved)

eval0.0ms (0%)

Memory
0.6MiB live, 0.5MiB allocated
Compiler

Compiled 0 to 1 computations (-∞% saved)

prune0.0ms (0%)

Memory
1.9MiB live, 1.9MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))))
Compiler

Compiled 7 to 6 computations (14.3% saved)

simplify141.0ms (3.1%)

Memory
-1.3MiB live, 153.4MiB allocated
Algorithm
egg-herbie
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 x x)
cost-diff0
(-.f64 #s(literal 1 binary64) (*.f64 x x))
cost-diff0
(exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))))
cost-diff256
(neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0623
01023
12221
25121
310621
419221
529321
646821
777621
8127721
9210921
10429121
11738621
0807319
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))))
(neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)))
(-.f64 #s(literal 1 binary64) (*.f64 x x))
#s(literal 1 binary64)
(*.f64 x x)
x
Outputs
(exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)))
(fma.f64 x x #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 x x))
#s(literal 1 binary64)
(*.f64 x x)
x

localize19.0ms (0.4%)

Memory
9.2MiB live, 47.9MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0
(*.f64 x x)
accuracy0
(neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)))
accuracy0.00390625
(exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))))
accuracy0.009070031620653759
(-.f64 #s(literal 1 binary64) (*.f64 x x))
Samples
14.0ms256×0valid
Compiler

Compiled 25 to 8 computations (68% saved)

Precisions
Click to see histograms. Total time spent on operations: 8.0ms
ival-exp: 2.0ms (24.7% of total)
ival-mult: 2.0ms (24.7% of total)
ival-neg: 2.0ms (24.7% of total)
ival-sub: 1.0ms (12.3% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series62.0ms (1.4%)

Memory
-30.5MiB live, 17.7MiB allocated
Counts
4 → 48
Calls
Call 1
Inputs
#s(alt (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))) (patch (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))) #<representation binary64>) () ())
#s(alt (exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)))) (patch (exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)))) #<representation binary64>) () ())
#s(alt (-.f64 #s(literal 1 binary64) (*.f64 x x)) (patch (-.f64 #s(literal 1 binary64) (*.f64 x x)) #<representation binary64>) () ())
#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())
Outputs
#s(alt -1 (taylor 0 x) (#s(alt (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))) (patch (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (- (pow x 2) 1) (taylor 0 x) (#s(alt (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))) (patch (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (- (pow x 2) 1) (taylor 0 x) (#s(alt (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))) (patch (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (- (pow x 2) 1) (taylor 0 x) (#s(alt (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))) (patch (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (exp -1) (taylor 0 x) (#s(alt (exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)))) (patch (exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)))) #<representation binary64>) () ())) ())
#s(alt (+ (exp -1) (* (pow x 2) (exp -1))) (taylor 0 x) (#s(alt (exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)))) (patch (exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)))) #<representation binary64>) () ())) ())
#s(alt (+ (exp -1) (* (pow x 2) (+ (exp -1) (* 1/2 (* (pow x 2) (exp -1)))))) (taylor 0 x) (#s(alt (exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)))) (patch (exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)))) #<representation binary64>) () ())) ())
#s(alt (+ (exp -1) (* (pow x 2) (+ (exp -1) (* (pow x 2) (+ (* 1/6 (* (pow x 2) (exp -1))) (* 1/2 (exp -1))))))) (taylor 0 x) (#s(alt (exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)))) (patch (exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)))) #<representation binary64>) () ())) ())
#s(alt 1 (taylor 0 x) (#s(alt (-.f64 #s(literal 1 binary64) (*.f64 x x)) (patch (-.f64 #s(literal 1 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* -1 (pow x 2))) (taylor 0 x) (#s(alt (-.f64 #s(literal 1 binary64) (*.f64 x x)) (patch (-.f64 #s(literal 1 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* -1 (pow x 2))) (taylor 0 x) (#s(alt (-.f64 #s(literal 1 binary64) (*.f64 x x)) (patch (-.f64 #s(literal 1 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* -1 (pow x 2))) (taylor 0 x) (#s(alt (-.f64 #s(literal 1 binary64) (*.f64 x x)) (patch (-.f64 #s(literal 1 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))) (patch (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- 1 (/ 1 (pow x 2)))) (taylor inf x) (#s(alt (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))) (patch (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- 1 (/ 1 (pow x 2)))) (taylor inf x) (#s(alt (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))) (patch (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- 1 (/ 1 (pow x 2)))) (taylor inf x) (#s(alt (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))) (patch (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (exp (- (pow x 2) 1)) (taylor inf x) (#s(alt (exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)))) (patch (exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)))) #<representation binary64>) () ())) ())
#s(alt (exp (- (pow x 2) 1)) (taylor inf x) (#s(alt (exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)))) (patch (exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)))) #<representation binary64>) () ())) ())
#s(alt (exp (- (pow x 2) 1)) (taylor inf x) (#s(alt (exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)))) (patch (exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)))) #<representation binary64>) () ())) ())
#s(alt (exp (- (pow x 2) 1)) (taylor inf x) (#s(alt (exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)))) (patch (exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)))) #<representation binary64>) () ())) ())
#s(alt (* -1 (pow x 2)) (taylor inf x) (#s(alt (-.f64 #s(literal 1 binary64) (*.f64 x x)) (patch (-.f64 #s(literal 1 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- (/ 1 (pow x 2)) 1)) (taylor inf x) (#s(alt (-.f64 #s(literal 1 binary64) (*.f64 x x)) (patch (-.f64 #s(literal 1 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- (/ 1 (pow x 2)) 1)) (taylor inf x) (#s(alt (-.f64 #s(literal 1 binary64) (*.f64 x x)) (patch (-.f64 #s(literal 1 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- (/ 1 (pow x 2)) 1)) (taylor inf x) (#s(alt (-.f64 #s(literal 1 binary64) (*.f64 x x)) (patch (-.f64 #s(literal 1 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))) (patch (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- 1 (/ 1 (pow x 2)))) (taylor -inf x) (#s(alt (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))) (patch (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- 1 (/ 1 (pow x 2)))) (taylor -inf x) (#s(alt (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))) (patch (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- 1 (/ 1 (pow x 2)))) (taylor -inf x) (#s(alt (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))) (patch (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (exp (- (pow x 2) 1)) (taylor -inf x) (#s(alt (exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)))) (patch (exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)))) #<representation binary64>) () ())) ())
#s(alt (exp (- (pow x 2) 1)) (taylor -inf x) (#s(alt (exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)))) (patch (exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)))) #<representation binary64>) () ())) ())
#s(alt (exp (- (pow x 2) 1)) (taylor -inf x) (#s(alt (exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)))) (patch (exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)))) #<representation binary64>) () ())) ())
#s(alt (exp (- (pow x 2) 1)) (taylor -inf x) (#s(alt (exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)))) (patch (exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)))) #<representation binary64>) () ())) ())
#s(alt (* -1 (pow x 2)) (taylor -inf x) (#s(alt (-.f64 #s(literal 1 binary64) (*.f64 x x)) (patch (-.f64 #s(literal 1 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- (/ 1 (pow x 2)) 1)) (taylor -inf x) (#s(alt (-.f64 #s(literal 1 binary64) (*.f64 x x)) (patch (-.f64 #s(literal 1 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- (/ 1 (pow x 2)) 1)) (taylor -inf x) (#s(alt (-.f64 #s(literal 1 binary64) (*.f64 x x)) (patch (-.f64 #s(literal 1 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- (/ 1 (pow x 2)) 1)) (taylor -inf x) (#s(alt (-.f64 #s(literal 1 binary64) (*.f64 x x)) (patch (-.f64 #s(literal 1 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
Calls

3 calls:

TimeVariablePointExpression
42.0ms
x
@0
((neg (- 1 (* x x))) (exp (neg (- 1 (* x x)))) (- 1 (* x x)) (* x x))
19.0ms
x
@inf
((neg (- 1 (* x x))) (exp (neg (- 1 (* x x)))) (- 1 (* x x)) (* x x))
0.0ms
x
@-inf
((neg (- 1 (* x x))) (exp (neg (- 1 (* x x)))) (- 1 (* x x)) (* x x))

simplify158.0ms (3.5%)

Memory
17.0MiB live, 181.4MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
030254
181241
2247237
3605234
41328234
52025234
63122234
75538234
08219211
Stop Event
iter limit
node limit
Counts
48 → 48
Calls
Call 1
Inputs
-1
(- (pow x 2) 1)
(- (pow x 2) 1)
(- (pow x 2) 1)
(exp -1)
(+ (exp -1) (* (pow x 2) (exp -1)))
(+ (exp -1) (* (pow x 2) (+ (exp -1) (* 1/2 (* (pow x 2) (exp -1))))))
(+ (exp -1) (* (pow x 2) (+ (exp -1) (* (pow x 2) (+ (* 1/6 (* (pow x 2) (exp -1))) (* 1/2 (exp -1)))))))
1
(+ 1 (* -1 (pow x 2)))
(+ 1 (* -1 (pow x 2)))
(+ 1 (* -1 (pow x 2)))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(exp (- (pow x 2) 1))
(exp (- (pow x 2) 1))
(exp (- (pow x 2) 1))
(exp (- (pow x 2) 1))
(* -1 (pow x 2))
(* (pow x 2) (- (/ 1 (pow x 2)) 1))
(* (pow x 2) (- (/ 1 (pow x 2)) 1))
(* (pow x 2) (- (/ 1 (pow x 2)) 1))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(exp (- (pow x 2) 1))
(exp (- (pow x 2) 1))
(exp (- (pow x 2) 1))
(exp (- (pow x 2) 1))
(* -1 (pow x 2))
(* (pow x 2) (- (/ 1 (pow x 2)) 1))
(* (pow x 2) (- (/ 1 (pow x 2)) 1))
(* (pow x 2) (- (/ 1 (pow x 2)) 1))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
Outputs
-1
#s(literal -1 binary64)
(- (pow x 2) 1)
(fma.f64 x x #s(literal -1 binary64))
(- (pow x 2) 1)
(fma.f64 x x #s(literal -1 binary64))
(- (pow x 2) 1)
(fma.f64 x x #s(literal -1 binary64))
(exp -1)
(exp.f64 #s(literal -1 binary64))
(+ (exp -1) (* (pow x 2) (exp -1)))
(*.f64 (fma.f64 x x #s(literal 1 binary64)) (exp.f64 #s(literal -1 binary64)))
(+ (exp -1) (* (pow x 2) (+ (exp -1) (* 1/2 (* (pow x 2) (exp -1))))))
(*.f64 (fma.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 1/2 binary64) (fma.f64 x x #s(literal 1 binary64))) (exp.f64 #s(literal -1 binary64)))
(+ (exp -1) (* (pow x 2) (+ (exp -1) (* (pow x 2) (+ (* 1/6 (* (pow x 2) (exp -1))) (* 1/2 (exp -1)))))))
(*.f64 (fma.f64 (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 #s(literal 1/6 binary64) (*.f64 x x) #s(literal 1/2 binary64)) x) x #s(literal 1 binary64)) (exp.f64 #s(literal -1 binary64)))
1
#s(literal 1 binary64)
(+ 1 (* -1 (pow x 2)))
(fma.f64 (neg.f64 x) x #s(literal 1 binary64))
(+ 1 (* -1 (pow x 2)))
(fma.f64 (neg.f64 x) x #s(literal 1 binary64))
(+ 1 (* -1 (pow x 2)))
(fma.f64 (neg.f64 x) x #s(literal 1 binary64))
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal -1 binary64))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal -1 binary64))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal -1 binary64))
(exp (- (pow x 2) 1))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(exp (- (pow x 2) 1))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(exp (- (pow x 2) 1))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(exp (- (pow x 2) 1))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(* -1 (pow x 2))
(*.f64 (neg.f64 x) x)
(* (pow x 2) (- (/ 1 (pow x 2)) 1))
(fma.f64 (neg.f64 x) x #s(literal 1 binary64))
(* (pow x 2) (- (/ 1 (pow x 2)) 1))
(fma.f64 (neg.f64 x) x #s(literal 1 binary64))
(* (pow x 2) (- (/ 1 (pow x 2)) 1))
(fma.f64 (neg.f64 x) x #s(literal 1 binary64))
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal -1 binary64))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal -1 binary64))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal -1 binary64))
(exp (- (pow x 2) 1))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(exp (- (pow x 2) 1))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(exp (- (pow x 2) 1))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(exp (- (pow x 2) 1))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(* -1 (pow x 2))
(*.f64 (neg.f64 x) x)
(* (pow x 2) (- (/ 1 (pow x 2)) 1))
(fma.f64 (neg.f64 x) x #s(literal 1 binary64))
(* (pow x 2) (- (/ 1 (pow x 2)) 1))
(fma.f64 (neg.f64 x) x #s(literal 1 binary64))
(* (pow x 2) (- (/ 1 (pow x 2)) 1))
(fma.f64 (neg.f64 x) x #s(literal 1 binary64))
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)

rewrite141.0ms (3.1%)

Memory
1.3MiB live, 224.8MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0621
01021
13719
222719
3192319
0930416
Stop Event
iter limit
node limit
iter limit
Counts
4 → 500
Calls
Call 1
Inputs
(neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)))
(exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))))
(-.f64 #s(literal 1 binary64) (*.f64 x x))
(*.f64 x x)
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval137.0ms (3%)

Memory
-0.8MiB live, 186.3MiB allocated
Compiler

Compiled 10 865 to 1 802 computations (83.4% saved)

prune15.0ms (0.3%)

Memory
1.5MiB live, 49.7MiB allocated
Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New5444548
Fresh000
Picked101
Done000
Total5454549
Accuracy
100.0%
Counts
549 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(pow.f64 (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64))) #s(literal 2 binary64))
100.0%
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
60.8%
(exp.f64 #s(approx (neg (- 1 (* x x))) (*.f64 x x)))
48.1%
(exp.f64 #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64)))
Compiler

Compiled 24 to 21 computations (12.5% saved)

simplify170.0ms (3.7%)

Memory
17.8MiB live, 130.9MiB allocated
Algorithm
egg-herbie
Localize:

Found 11 expressions of interest:

NewMetricScoreProgram
cost-diff0
(exp.f64 #s(literal -1 binary64))
cost-diff384
(/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64))
cost-diff6144
(pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64)))
cost-diff7104
(pow.f64 (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64))) #s(literal 2 binary64))
cost-diff0
(fma.f64 x x #s(literal -1 binary64))
cost-diff0
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
cost-diff0
(*.f64 x x)
cost-diff0
#s(approx (neg (- 1 (* x x))) (*.f64 x x))
cost-diff0
(exp.f64 #s(approx (neg (- 1 (* x x))) (*.f64 x x)))
cost-diff0
#s(approx (neg (- 1 (* x x))) #s(literal -1 binary64))
cost-diff0
(exp.f64 #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64)))
Iterations

Useful iterations: 6 (0.0ms)

IterNodesCost
01990
02884
14476
27876
316776
443676
5119376
6467873
0813173
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(exp.f64 #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64)))
#s(approx (neg (- 1 (* x x))) #s(literal -1 binary64))
#s(literal -1 binary64)
(exp.f64 #s(approx (neg (- 1 (* x x))) (*.f64 x x)))
#s(approx (neg (- 1 (* x x))) (*.f64 x x))
(*.f64 x x)
x
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(fma.f64 x x #s(literal -1 binary64))
x
#s(literal -1 binary64)
(pow.f64 (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64))) #s(literal 2 binary64))
(pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64)))
(exp.f64 #s(literal -1 binary64))
#s(literal -1 binary64)
(/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64))
(fma.f64 x x #s(literal -1 binary64))
x
#s(literal -2 binary64)
#s(literal 2 binary64)
Outputs
(exp.f64 #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64)))
#s(approx (neg (- 1 (* x x))) #s(literal -1 binary64))
#s(literal -1 binary64)
(exp.f64 #s(approx (neg (- 1 (* x x))) (*.f64 x x)))
#s(approx (neg (- 1 (* x x))) (*.f64 x x))
(*.f64 x x)
x
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(fma.f64 x x #s(literal -1 binary64))
x
#s(literal -1 binary64)
(pow.f64 (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64))) #s(literal 2 binary64))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64)))
(sqrt.f64 (exp.f64 (fma.f64 x x #s(literal -1 binary64))))
(exp.f64 #s(literal -1 binary64))
#s(literal -1 binary64)
(/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64))
(*.f64 #s(literal -1/2 binary64) (fma.f64 x x #s(literal -1 binary64)))
(fma.f64 x x #s(literal -1 binary64))
x
#s(literal -2 binary64)
#s(literal 2 binary64)

localize132.0ms (2.9%)

Memory
-74.7MiB live, 101.1MiB allocated
Localize:

Found 11 expressions of interest:

NewMetricScoreProgram
accuracy0
(pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64)))
accuracy0
(/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64))
accuracy0
(exp.f64 #s(literal -1 binary64))
accuracy0.01171875
(pow.f64 (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64))) #s(literal 2 binary64))
accuracy0
(fma.f64 x x #s(literal -1 binary64))
accuracy0.00390625
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
accuracy0
(*.f64 x x)
accuracy0.00390625
(exp.f64 #s(approx (neg (- 1 (* x x))) (*.f64 x x)))
accuracy29.829746111496238
#s(approx (neg (- 1 (* x x))) (*.f64 x x))
accuracy0.00390625
(exp.f64 #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64)))
accuracy33.95231598558757
#s(approx (neg (- 1 (* x x))) #s(literal -1 binary64))
Samples
78.0ms256×0valid
Compiler

Compiled 86 to 17 computations (80.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 41.0ms
ival-exp: 23.0ms (56.3% of total)
ival-pow: 6.0ms (14.7% of total)
ival-pow2: 3.0ms (7.3% of total)
ival-div: 2.0ms (4.9% of total)
ival-mult: 2.0ms (4.9% of total)
ival-add: 1.0ms (2.4% of total)
ival-sub: 1.0ms (2.4% of total)
exact: 1.0ms (2.4% of total)
ival-neg: 1.0ms (2.4% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series7.0ms (0.2%)

Memory
12.9MiB live, 12.9MiB allocated
Counts
11 → 120
Calls
Call 1
Inputs
#s(alt (exp.f64 #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64))) (patch (exp.f64 #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64))) #<representation binary64>) () ())
#s(alt #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64)) (patch #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64)) #<representation binary64>) () ())
#s(alt (exp.f64 #s(approx (neg (- 1 (* x x))) (*.f64 x x))) (patch (exp.f64 #s(approx (neg (- 1 (* x x))) (*.f64 x x))) #<representation binary64>) () ())
#s(alt #s(approx (neg (- 1 (* x x))) (*.f64 x x)) (patch #s(approx (neg (- 1 (* x x))) (*.f64 x x)) #<representation binary64>) () ())
#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())
#s(alt (exp.f64 (fma.f64 x x #s(literal -1 binary64))) (patch (exp.f64 (fma.f64 x x #s(literal -1 binary64))) #<representation binary64>) () ())
#s(alt (fma.f64 x x #s(literal -1 binary64)) (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())
#s(alt (pow.f64 (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64))) #s(literal 2 binary64)) (patch (pow.f64 (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64))) #s(literal 2 binary64)) #<representation binary64>) () ())
#s(alt (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64))) (patch (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64))) #<representation binary64>) () ())
#s(alt (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64)) (patch (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64)) #<representation binary64>) () ())
#s(alt (exp.f64 #s(literal -1 binary64)) (patch (exp.f64 #s(literal -1 binary64)) #<representation binary64>) () ())
Outputs
#s(alt (exp -1) (taylor 0 x) (#s(alt (exp.f64 #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64))) (patch (exp.f64 #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (exp -1) (* (pow x 2) (exp -1))) (taylor 0 x) (#s(alt (exp.f64 #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64))) (patch (exp.f64 #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (exp -1) (* (pow x 2) (+ (exp -1) (* 1/2 (* (pow x 2) (exp -1)))))) (taylor 0 x) (#s(alt (exp.f64 #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64))) (patch (exp.f64 #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (exp -1) (* (pow x 2) (+ (exp -1) (* (pow x 2) (+ (* 1/6 (* (pow x 2) (exp -1))) (* 1/2 (exp -1))))))) (taylor 0 x) (#s(alt (exp.f64 #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64))) (patch (exp.f64 #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt -1 (taylor 0 x) (#s(alt #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64)) (patch #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (pow x 2) 1) (taylor 0 x) (#s(alt #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64)) (patch #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (pow x 2) 1) (taylor 0 x) (#s(alt #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64)) (patch #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (pow x 2) 1) (taylor 0 x) (#s(alt #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64)) (patch #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (exp -1) (taylor 0 x) (#s(alt (exp.f64 #s(approx (neg (- 1 (* x x))) (*.f64 x x))) (patch (exp.f64 #s(approx (neg (- 1 (* x x))) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (+ (exp -1) (* (pow x 2) (exp -1))) (taylor 0 x) (#s(alt (exp.f64 #s(approx (neg (- 1 (* x x))) (*.f64 x x))) (patch (exp.f64 #s(approx (neg (- 1 (* x x))) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (+ (exp -1) (* (pow x 2) (+ (exp -1) (* 1/2 (* (pow x 2) (exp -1)))))) (taylor 0 x) (#s(alt (exp.f64 #s(approx (neg (- 1 (* x x))) (*.f64 x x))) (patch (exp.f64 #s(approx (neg (- 1 (* x x))) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (+ (exp -1) (* (pow x 2) (+ (exp -1) (* (pow x 2) (+ (* 1/6 (* (pow x 2) (exp -1))) (* 1/2 (exp -1))))))) (taylor 0 x) (#s(alt (exp.f64 #s(approx (neg (- 1 (* x x))) (*.f64 x x))) (patch (exp.f64 #s(approx (neg (- 1 (* x x))) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt -1 (taylor 0 x) (#s(alt #s(approx (neg (- 1 (* x x))) (*.f64 x x)) (patch #s(approx (neg (- 1 (* x x))) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (- (pow x 2) 1) (taylor 0 x) (#s(alt #s(approx (neg (- 1 (* x x))) (*.f64 x x)) (patch #s(approx (neg (- 1 (* x x))) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (- (pow x 2) 1) (taylor 0 x) (#s(alt #s(approx (neg (- 1 (* x x))) (*.f64 x x)) (patch #s(approx (neg (- 1 (* x x))) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (- (pow x 2) 1) (taylor 0 x) (#s(alt #s(approx (neg (- 1 (* x x))) (*.f64 x x)) (patch #s(approx (neg (- 1 (* x x))) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (exp -1) (taylor 0 x) (#s(alt (exp.f64 (fma.f64 x x #s(literal -1 binary64))) (patch (exp.f64 (fma.f64 x x #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (exp -1) (* (pow x 2) (exp -1))) (taylor 0 x) (#s(alt (exp.f64 (fma.f64 x x #s(literal -1 binary64))) (patch (exp.f64 (fma.f64 x x #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (exp -1) (* (pow x 2) (+ (exp -1) (* 1/2 (* (pow x 2) (exp -1)))))) (taylor 0 x) (#s(alt (exp.f64 (fma.f64 x x #s(literal -1 binary64))) (patch (exp.f64 (fma.f64 x x #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (exp -1) (* (pow x 2) (+ (exp -1) (* (pow x 2) (+ (* 1/6 (* (pow x 2) (exp -1))) (* 1/2 (exp -1))))))) (taylor 0 x) (#s(alt (exp.f64 (fma.f64 x x #s(literal -1 binary64))) (patch (exp.f64 (fma.f64 x x #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt -1 (taylor 0 x) (#s(alt (fma.f64 x x #s(literal -1 binary64)) (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (pow x 2) 1) (taylor 0 x) (#s(alt (fma.f64 x x #s(literal -1 binary64)) (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (pow x 2) 1) (taylor 0 x) (#s(alt (fma.f64 x x #s(literal -1 binary64)) (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (pow x 2) 1) (taylor 0 x) (#s(alt (fma.f64 x x #s(literal -1 binary64)) (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow (exp -1/2) 2) (taylor 0 x) (#s(alt (pow.f64 (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64))) #s(literal 2 binary64)) (patch (pow.f64 (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64))) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ (* (pow x 2) (pow (exp -1/2) 2)) (pow (exp -1/2) 2)) (taylor 0 x) (#s(alt (pow.f64 (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64))) #s(literal 2 binary64)) (patch (pow.f64 (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64))) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ (* (pow x 2) (+ (* 1/2 (* (pow x 2) (pow (exp -1/2) 2))) (pow (exp -1/2) 2))) (pow (exp -1/2) 2)) (taylor 0 x) (#s(alt (pow.f64 (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64))) #s(literal 2 binary64)) (patch (pow.f64 (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64))) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ (* (pow x 2) (+ (* (pow x 2) (+ (* 1/2 (pow (exp -1/2) 2)) (* (pow x 2) (+ (* 1/24 (pow (exp -1/2) 2)) (* 1/8 (pow (exp -1/2) 2)))))) (pow (exp -1/2) 2))) (pow (exp -1/2) 2)) (taylor 0 x) (#s(alt (pow.f64 (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64))) #s(literal 2 binary64)) (patch (pow.f64 (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64))) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (exp -1/2) (taylor 0 x) (#s(alt (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64))) (patch (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (exp -1/2) (* 1/2 (* (pow x 2) (exp -1/2)))) (taylor 0 x) (#s(alt (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64))) (patch (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (exp -1/2) (* (pow x 2) (+ (* 1/8 (* (pow x 2) (exp -1/2))) (* 1/2 (exp -1/2))))) (taylor 0 x) (#s(alt (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64))) (patch (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (exp -1/2) (* (pow x 2) (+ (* 1/2 (exp -1/2)) (* (pow x 2) (+ (* 1/48 (* (pow x 2) (exp -1/2))) (* 1/8 (exp -1/2))))))) (taylor 0 x) (#s(alt (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64))) (patch (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64))) #<representation binary64>) () ())) ())
#s(alt 1/2 (taylor 0 x) (#s(alt (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64)) (patch (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1/2 (* -1/2 (pow x 2))) (taylor 0 x) (#s(alt (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64)) (patch (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1/2 (* -1/2 (pow x 2))) (taylor 0 x) (#s(alt (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64)) (patch (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1/2 (* -1/2 (pow x 2))) (taylor 0 x) (#s(alt (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64)) (patch (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64)) #<representation binary64>) () ())) ())
#s(alt (exp (- (pow x 2) 1)) (taylor inf x) (#s(alt (exp.f64 #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64))) (patch (exp.f64 #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt (exp (- (pow x 2) 1)) (taylor inf x) (#s(alt (exp.f64 #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64))) (patch (exp.f64 #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt (exp (- (pow x 2) 1)) (taylor inf x) (#s(alt (exp.f64 #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64))) (patch (exp.f64 #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt (exp (- (pow x 2) 1)) (taylor inf x) (#s(alt (exp.f64 #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64))) (patch (exp.f64 #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64)) (patch #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- 1 (/ 1 (pow x 2)))) (taylor inf x) (#s(alt #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64)) (patch #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- 1 (/ 1 (pow x 2)))) (taylor inf x) (#s(alt #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64)) (patch #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- 1 (/ 1 (pow x 2)))) (taylor inf x) (#s(alt #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64)) (patch #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (exp (- (pow x 2) 1)) (taylor inf x) (#s(alt (exp.f64 #s(approx (neg (- 1 (* x x))) (*.f64 x x))) (patch (exp.f64 #s(approx (neg (- 1 (* x x))) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (exp (- (pow x 2) 1)) (taylor inf x) (#s(alt (exp.f64 #s(approx (neg (- 1 (* x x))) (*.f64 x x))) (patch (exp.f64 #s(approx (neg (- 1 (* x x))) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (exp (- (pow x 2) 1)) (taylor inf x) (#s(alt (exp.f64 #s(approx (neg (- 1 (* x x))) (*.f64 x x))) (patch (exp.f64 #s(approx (neg (- 1 (* x x))) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (exp (- (pow x 2) 1)) (taylor inf x) (#s(alt (exp.f64 #s(approx (neg (- 1 (* x x))) (*.f64 x x))) (patch (exp.f64 #s(approx (neg (- 1 (* x x))) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt #s(approx (neg (- 1 (* x x))) (*.f64 x x)) (patch #s(approx (neg (- 1 (* x x))) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- 1 (/ 1 (pow x 2)))) (taylor inf x) (#s(alt #s(approx (neg (- 1 (* x x))) (*.f64 x x)) (patch #s(approx (neg (- 1 (* x x))) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- 1 (/ 1 (pow x 2)))) (taylor inf x) (#s(alt #s(approx (neg (- 1 (* x x))) (*.f64 x x)) (patch #s(approx (neg (- 1 (* x x))) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- 1 (/ 1 (pow x 2)))) (taylor inf x) (#s(alt #s(approx (neg (- 1 (* x x))) (*.f64 x x)) (patch #s(approx (neg (- 1 (* x x))) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (exp (- (pow x 2) 1)) (taylor inf x) (#s(alt (exp.f64 (fma.f64 x x #s(literal -1 binary64))) (patch (exp.f64 (fma.f64 x x #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt (exp (- (pow x 2) 1)) (taylor inf x) (#s(alt (exp.f64 (fma.f64 x x #s(literal -1 binary64))) (patch (exp.f64 (fma.f64 x x #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt (exp (- (pow x 2) 1)) (taylor inf x) (#s(alt (exp.f64 (fma.f64 x x #s(literal -1 binary64))) (patch (exp.f64 (fma.f64 x x #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt (exp (- (pow x 2) 1)) (taylor inf x) (#s(alt (exp.f64 (fma.f64 x x #s(literal -1 binary64))) (patch (exp.f64 (fma.f64 x x #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (fma.f64 x x #s(literal -1 binary64)) (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- 1 (/ 1 (pow x 2)))) (taylor inf x) (#s(alt (fma.f64 x x #s(literal -1 binary64)) (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- 1 (/ 1 (pow x 2)))) (taylor inf x) (#s(alt (fma.f64 x x #s(literal -1 binary64)) (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- 1 (/ 1 (pow x 2)))) (taylor inf x) (#s(alt (fma.f64 x x #s(literal -1 binary64)) (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow (exp (* 1/2 (- (pow x 2) 1))) 2) (taylor inf x) (#s(alt (pow.f64 (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64))) #s(literal 2 binary64)) (patch (pow.f64 (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64))) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow (exp (* 1/2 (- (pow x 2) 1))) 2) (taylor inf x) (#s(alt (pow.f64 (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64))) #s(literal 2 binary64)) (patch (pow.f64 (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64))) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow (exp (* 1/2 (- (pow x 2) 1))) 2) (taylor inf x) (#s(alt (pow.f64 (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64))) #s(literal 2 binary64)) (patch (pow.f64 (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64))) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow (exp (* 1/2 (- (pow x 2) 1))) 2) (taylor inf x) (#s(alt (pow.f64 (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64))) #s(literal 2 binary64)) (patch (pow.f64 (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64))) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (exp (* 1/2 (- (pow x 2) 1))) (taylor inf x) (#s(alt (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64))) (patch (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64))) #<representation binary64>) () ())) ())
#s(alt (exp (* 1/2 (- (pow x 2) 1))) (taylor inf x) (#s(alt (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64))) (patch (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64))) #<representation binary64>) () ())) ())
#s(alt (exp (* 1/2 (- (pow x 2) 1))) (taylor inf x) (#s(alt (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64))) (patch (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64))) #<representation binary64>) () ())) ())
#s(alt (exp (* 1/2 (- (pow x 2) 1))) (taylor inf x) (#s(alt (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64))) (patch (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1/2 (pow x 2)) (taylor inf x) (#s(alt (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64)) (patch (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/2)) (taylor inf x) (#s(alt (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64)) (patch (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/2)) (taylor inf x) (#s(alt (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64)) (patch (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/2)) (taylor inf x) (#s(alt (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64)) (patch (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64)) #<representation binary64>) () ())) ())
#s(alt (exp (- (pow x 2) 1)) (taylor -inf x) (#s(alt (exp.f64 #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64))) (patch (exp.f64 #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt (exp (- (pow x 2) 1)) (taylor -inf x) (#s(alt (exp.f64 #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64))) (patch (exp.f64 #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt (exp (- (pow x 2) 1)) (taylor -inf x) (#s(alt (exp.f64 #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64))) (patch (exp.f64 #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt (exp (- (pow x 2) 1)) (taylor -inf x) (#s(alt (exp.f64 #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64))) (patch (exp.f64 #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64)) (patch #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- 1 (/ 1 (pow x 2)))) (taylor -inf x) (#s(alt #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64)) (patch #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- 1 (/ 1 (pow x 2)))) (taylor -inf x) (#s(alt #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64)) (patch #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- 1 (/ 1 (pow x 2)))) (taylor -inf x) (#s(alt #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64)) (patch #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (exp (- (pow x 2) 1)) (taylor -inf x) (#s(alt (exp.f64 #s(approx (neg (- 1 (* x x))) (*.f64 x x))) (patch (exp.f64 #s(approx (neg (- 1 (* x x))) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (exp (- (pow x 2) 1)) (taylor -inf x) (#s(alt (exp.f64 #s(approx (neg (- 1 (* x x))) (*.f64 x x))) (patch (exp.f64 #s(approx (neg (- 1 (* x x))) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (exp (- (pow x 2) 1)) (taylor -inf x) (#s(alt (exp.f64 #s(approx (neg (- 1 (* x x))) (*.f64 x x))) (patch (exp.f64 #s(approx (neg (- 1 (* x x))) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (exp (- (pow x 2) 1)) (taylor -inf x) (#s(alt (exp.f64 #s(approx (neg (- 1 (* x x))) (*.f64 x x))) (patch (exp.f64 #s(approx (neg (- 1 (* x x))) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt #s(approx (neg (- 1 (* x x))) (*.f64 x x)) (patch #s(approx (neg (- 1 (* x x))) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- 1 (/ 1 (pow x 2)))) (taylor -inf x) (#s(alt #s(approx (neg (- 1 (* x x))) (*.f64 x x)) (patch #s(approx (neg (- 1 (* x x))) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- 1 (/ 1 (pow x 2)))) (taylor -inf x) (#s(alt #s(approx (neg (- 1 (* x x))) (*.f64 x x)) (patch #s(approx (neg (- 1 (* x x))) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- 1 (/ 1 (pow x 2)))) (taylor -inf x) (#s(alt #s(approx (neg (- 1 (* x x))) (*.f64 x x)) (patch #s(approx (neg (- 1 (* x x))) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (exp (- (pow x 2) 1)) (taylor -inf x) (#s(alt (exp.f64 (fma.f64 x x #s(literal -1 binary64))) (patch (exp.f64 (fma.f64 x x #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt (exp (- (pow x 2) 1)) (taylor -inf x) (#s(alt (exp.f64 (fma.f64 x x #s(literal -1 binary64))) (patch (exp.f64 (fma.f64 x x #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt (exp (- (pow x 2) 1)) (taylor -inf x) (#s(alt (exp.f64 (fma.f64 x x #s(literal -1 binary64))) (patch (exp.f64 (fma.f64 x x #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt (exp (- (pow x 2) 1)) (taylor -inf x) (#s(alt (exp.f64 (fma.f64 x x #s(literal -1 binary64))) (patch (exp.f64 (fma.f64 x x #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (fma.f64 x x #s(literal -1 binary64)) (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- 1 (/ 1 (pow x 2)))) (taylor -inf x) (#s(alt (fma.f64 x x #s(literal -1 binary64)) (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- 1 (/ 1 (pow x 2)))) (taylor -inf x) (#s(alt (fma.f64 x x #s(literal -1 binary64)) (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- 1 (/ 1 (pow x 2)))) (taylor -inf x) (#s(alt (fma.f64 x x #s(literal -1 binary64)) (patch (fma.f64 x x #s(literal -1 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow (exp (* 1/2 (- (pow x 2) 1))) 2) (taylor -inf x) (#s(alt (pow.f64 (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64))) #s(literal 2 binary64)) (patch (pow.f64 (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64))) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow (exp (* 1/2 (- (pow x 2) 1))) 2) (taylor -inf x) (#s(alt (pow.f64 (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64))) #s(literal 2 binary64)) (patch (pow.f64 (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64))) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow (exp (* 1/2 (- (pow x 2) 1))) 2) (taylor -inf x) (#s(alt (pow.f64 (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64))) #s(literal 2 binary64)) (patch (pow.f64 (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64))) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow (exp (* 1/2 (- (pow x 2) 1))) 2) (taylor -inf x) (#s(alt (pow.f64 (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64))) #s(literal 2 binary64)) (patch (pow.f64 (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64))) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (exp (* 1/2 (- (pow x 2) 1))) (taylor -inf x) (#s(alt (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64))) (patch (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64))) #<representation binary64>) () ())) ())
#s(alt (exp (* 1/2 (- (pow x 2) 1))) (taylor -inf x) (#s(alt (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64))) (patch (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64))) #<representation binary64>) () ())) ())
#s(alt (exp (* 1/2 (- (pow x 2) 1))) (taylor -inf x) (#s(alt (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64))) (patch (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64))) #<representation binary64>) () ())) ())
#s(alt (exp (* 1/2 (- (pow x 2) 1))) (taylor -inf x) (#s(alt (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64))) (patch (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1/2 (pow x 2)) (taylor -inf x) (#s(alt (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64)) (patch (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/2)) (taylor -inf x) (#s(alt (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64)) (patch (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/2)) (taylor -inf x) (#s(alt (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64)) (patch (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/2)) (taylor -inf x) (#s(alt (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64)) (patch (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64)) #<representation binary64>) () ())) ())
Calls

3 calls:

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

simplify214.0ms (4.7%)

Memory
10.7MiB live, 196.6MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
071804
1208781
2723755
31833740
43403740
55794740
08564634
Stop Event
iter limit
node limit
Counts
120 → 120
Calls
Call 1
Inputs
(exp -1)
(+ (exp -1) (* (pow x 2) (exp -1)))
(+ (exp -1) (* (pow x 2) (+ (exp -1) (* 1/2 (* (pow x 2) (exp -1))))))
(+ (exp -1) (* (pow x 2) (+ (exp -1) (* (pow x 2) (+ (* 1/6 (* (pow x 2) (exp -1))) (* 1/2 (exp -1)))))))
-1
(- (pow x 2) 1)
(- (pow x 2) 1)
(- (pow x 2) 1)
(exp -1)
(+ (exp -1) (* (pow x 2) (exp -1)))
(+ (exp -1) (* (pow x 2) (+ (exp -1) (* 1/2 (* (pow x 2) (exp -1))))))
(+ (exp -1) (* (pow x 2) (+ (exp -1) (* (pow x 2) (+ (* 1/6 (* (pow x 2) (exp -1))) (* 1/2 (exp -1)))))))
-1
(- (pow x 2) 1)
(- (pow x 2) 1)
(- (pow x 2) 1)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(exp -1)
(+ (exp -1) (* (pow x 2) (exp -1)))
(+ (exp -1) (* (pow x 2) (+ (exp -1) (* 1/2 (* (pow x 2) (exp -1))))))
(+ (exp -1) (* (pow x 2) (+ (exp -1) (* (pow x 2) (+ (* 1/6 (* (pow x 2) (exp -1))) (* 1/2 (exp -1)))))))
-1
(- (pow x 2) 1)
(- (pow x 2) 1)
(- (pow x 2) 1)
(pow (exp -1/2) 2)
(+ (* (pow x 2) (pow (exp -1/2) 2)) (pow (exp -1/2) 2))
(+ (* (pow x 2) (+ (* 1/2 (* (pow x 2) (pow (exp -1/2) 2))) (pow (exp -1/2) 2))) (pow (exp -1/2) 2))
(+ (* (pow x 2) (+ (* (pow x 2) (+ (* 1/2 (pow (exp -1/2) 2)) (* (pow x 2) (+ (* 1/24 (pow (exp -1/2) 2)) (* 1/8 (pow (exp -1/2) 2)))))) (pow (exp -1/2) 2))) (pow (exp -1/2) 2))
(exp -1/2)
(+ (exp -1/2) (* 1/2 (* (pow x 2) (exp -1/2))))
(+ (exp -1/2) (* (pow x 2) (+ (* 1/8 (* (pow x 2) (exp -1/2))) (* 1/2 (exp -1/2)))))
(+ (exp -1/2) (* (pow x 2) (+ (* 1/2 (exp -1/2)) (* (pow x 2) (+ (* 1/48 (* (pow x 2) (exp -1/2))) (* 1/8 (exp -1/2)))))))
1/2
(+ 1/2 (* -1/2 (pow x 2)))
(+ 1/2 (* -1/2 (pow x 2)))
(+ 1/2 (* -1/2 (pow x 2)))
(exp (- (pow x 2) 1))
(exp (- (pow x 2) 1))
(exp (- (pow x 2) 1))
(exp (- (pow x 2) 1))
(pow x 2)
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(exp (- (pow x 2) 1))
(exp (- (pow x 2) 1))
(exp (- (pow x 2) 1))
(exp (- (pow x 2) 1))
(pow x 2)
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(exp (- (pow x 2) 1))
(exp (- (pow x 2) 1))
(exp (- (pow x 2) 1))
(exp (- (pow x 2) 1))
(pow x 2)
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(pow (exp (* 1/2 (- (pow x 2) 1))) 2)
(pow (exp (* 1/2 (- (pow x 2) 1))) 2)
(pow (exp (* 1/2 (- (pow x 2) 1))) 2)
(pow (exp (* 1/2 (- (pow x 2) 1))) 2)
(exp (* 1/2 (- (pow x 2) 1)))
(exp (* 1/2 (- (pow x 2) 1)))
(exp (* 1/2 (- (pow x 2) 1)))
(exp (* 1/2 (- (pow x 2) 1)))
(* -1/2 (pow x 2))
(* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/2))
(* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/2))
(* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/2))
(exp (- (pow x 2) 1))
(exp (- (pow x 2) 1))
(exp (- (pow x 2) 1))
(exp (- (pow x 2) 1))
(pow x 2)
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(exp (- (pow x 2) 1))
(exp (- (pow x 2) 1))
(exp (- (pow x 2) 1))
(exp (- (pow x 2) 1))
(pow x 2)
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(exp (- (pow x 2) 1))
(exp (- (pow x 2) 1))
(exp (- (pow x 2) 1))
(exp (- (pow x 2) 1))
(pow x 2)
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(pow (exp (* 1/2 (- (pow x 2) 1))) 2)
(pow (exp (* 1/2 (- (pow x 2) 1))) 2)
(pow (exp (* 1/2 (- (pow x 2) 1))) 2)
(pow (exp (* 1/2 (- (pow x 2) 1))) 2)
(exp (* 1/2 (- (pow x 2) 1)))
(exp (* 1/2 (- (pow x 2) 1)))
(exp (* 1/2 (- (pow x 2) 1)))
(exp (* 1/2 (- (pow x 2) 1)))
(* -1/2 (pow x 2))
(* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/2))
(* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/2))
(* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/2))
Outputs
(exp -1)
(exp.f64 #s(literal -1 binary64))
(+ (exp -1) (* (pow x 2) (exp -1)))
(*.f64 (fma.f64 x x #s(literal 1 binary64)) (exp.f64 #s(literal -1 binary64)))
(+ (exp -1) (* (pow x 2) (+ (exp -1) (* 1/2 (* (pow x 2) (exp -1))))))
(*.f64 (fma.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 1/2 binary64) (fma.f64 x x #s(literal 1 binary64))) (exp.f64 #s(literal -1 binary64)))
(+ (exp -1) (* (pow x 2) (+ (exp -1) (* (pow x 2) (+ (* 1/6 (* (pow x 2) (exp -1))) (* 1/2 (exp -1)))))))
(*.f64 (exp.f64 #s(literal -1 binary64)) (fma.f64 x x (fma.f64 (pow.f64 x #s(literal 4 binary64)) (fma.f64 #s(literal 1/6 binary64) (*.f64 x x) #s(literal 1/2 binary64)) #s(literal 1 binary64))))
-1
#s(literal -1 binary64)
(- (pow x 2) 1)
(fma.f64 x x #s(literal -1 binary64))
(- (pow x 2) 1)
(fma.f64 x x #s(literal -1 binary64))
(- (pow x 2) 1)
(fma.f64 x x #s(literal -1 binary64))
(exp -1)
(exp.f64 #s(literal -1 binary64))
(+ (exp -1) (* (pow x 2) (exp -1)))
(*.f64 (fma.f64 x x #s(literal 1 binary64)) (exp.f64 #s(literal -1 binary64)))
(+ (exp -1) (* (pow x 2) (+ (exp -1) (* 1/2 (* (pow x 2) (exp -1))))))
(*.f64 (fma.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 1/2 binary64) (fma.f64 x x #s(literal 1 binary64))) (exp.f64 #s(literal -1 binary64)))
(+ (exp -1) (* (pow x 2) (+ (exp -1) (* (pow x 2) (+ (* 1/6 (* (pow x 2) (exp -1))) (* 1/2 (exp -1)))))))
(*.f64 (exp.f64 #s(literal -1 binary64)) (fma.f64 x x (fma.f64 (pow.f64 x #s(literal 4 binary64)) (fma.f64 #s(literal 1/6 binary64) (*.f64 x x) #s(literal 1/2 binary64)) #s(literal 1 binary64))))
-1
#s(literal -1 binary64)
(- (pow x 2) 1)
(fma.f64 x x #s(literal -1 binary64))
(- (pow x 2) 1)
(fma.f64 x x #s(literal -1 binary64))
(- (pow x 2) 1)
(fma.f64 x x #s(literal -1 binary64))
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(exp -1)
(exp.f64 #s(literal -1 binary64))
(+ (exp -1) (* (pow x 2) (exp -1)))
(*.f64 (fma.f64 x x #s(literal 1 binary64)) (exp.f64 #s(literal -1 binary64)))
(+ (exp -1) (* (pow x 2) (+ (exp -1) (* 1/2 (* (pow x 2) (exp -1))))))
(*.f64 (fma.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 1/2 binary64) (fma.f64 x x #s(literal 1 binary64))) (exp.f64 #s(literal -1 binary64)))
(+ (exp -1) (* (pow x 2) (+ (exp -1) (* (pow x 2) (+ (* 1/6 (* (pow x 2) (exp -1))) (* 1/2 (exp -1)))))))
(*.f64 (exp.f64 #s(literal -1 binary64)) (fma.f64 x x (fma.f64 (pow.f64 x #s(literal 4 binary64)) (fma.f64 #s(literal 1/6 binary64) (*.f64 x x) #s(literal 1/2 binary64)) #s(literal 1 binary64))))
-1
#s(literal -1 binary64)
(- (pow x 2) 1)
(fma.f64 x x #s(literal -1 binary64))
(- (pow x 2) 1)
(fma.f64 x x #s(literal -1 binary64))
(- (pow x 2) 1)
(fma.f64 x x #s(literal -1 binary64))
(pow (exp -1/2) 2)
(exp.f64 #s(literal -1 binary64))
(+ (* (pow x 2) (pow (exp -1/2) 2)) (pow (exp -1/2) 2))
(*.f64 (fma.f64 x x #s(literal 1 binary64)) (exp.f64 #s(literal -1 binary64)))
(+ (* (pow x 2) (+ (* 1/2 (* (pow x 2) (pow (exp -1/2) 2))) (pow (exp -1/2) 2))) (pow (exp -1/2) 2))
(*.f64 (fma.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 1/2 binary64) (fma.f64 x x #s(literal 1 binary64))) (exp.f64 #s(literal -1 binary64)))
(+ (* (pow x 2) (+ (* (pow x 2) (+ (* 1/2 (pow (exp -1/2) 2)) (* (pow x 2) (+ (* 1/24 (pow (exp -1/2) 2)) (* 1/8 (pow (exp -1/2) 2)))))) (pow (exp -1/2) 2))) (pow (exp -1/2) 2))
(*.f64 (exp.f64 #s(literal -1 binary64)) (fma.f64 x x (fma.f64 (pow.f64 x #s(literal 4 binary64)) (fma.f64 #s(literal 1/6 binary64) (*.f64 x x) #s(literal 1/2 binary64)) #s(literal 1 binary64))))
(exp -1/2)
(exp.f64 #s(literal -1/2 binary64))
(+ (exp -1/2) (* 1/2 (* (pow x 2) (exp -1/2))))
(*.f64 (fma.f64 #s(literal 1/2 binary64) (*.f64 x x) #s(literal 1 binary64)) (exp.f64 #s(literal -1/2 binary64)))
(+ (exp -1/2) (* (pow x 2) (+ (* 1/8 (* (pow x 2) (exp -1/2))) (* 1/2 (exp -1/2)))))
(*.f64 (fma.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 1/8 binary64) (fma.f64 #s(literal 1/2 binary64) (*.f64 x x) #s(literal 1 binary64))) (exp.f64 #s(literal -1/2 binary64)))
(+ (exp -1/2) (* (pow x 2) (+ (* 1/2 (exp -1/2)) (* (pow x 2) (+ (* 1/48 (* (pow x 2) (exp -1/2))) (* 1/8 (exp -1/2)))))))
(*.f64 (exp.f64 #s(literal -1/2 binary64)) (fma.f64 (*.f64 #s(literal 1/2 binary64) x) x (fma.f64 (pow.f64 x #s(literal 4 binary64)) (fma.f64 #s(literal 1/48 binary64) (*.f64 x x) #s(literal 1/8 binary64)) #s(literal 1 binary64))))
1/2
#s(literal 1/2 binary64)
(+ 1/2 (* -1/2 (pow x 2)))
(fma.f64 #s(literal -1/2 binary64) (*.f64 x x) #s(literal 1/2 binary64))
(+ 1/2 (* -1/2 (pow x 2)))
(fma.f64 #s(literal -1/2 binary64) (*.f64 x x) #s(literal 1/2 binary64))
(+ 1/2 (* -1/2 (pow x 2)))
(fma.f64 #s(literal -1/2 binary64) (*.f64 x x) #s(literal 1/2 binary64))
(exp (- (pow x 2) 1))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(exp (- (pow x 2) 1))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(exp (- (pow x 2) 1))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(exp (- (pow x 2) 1))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(pow x 2)
(*.f64 x x)
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal -1 binary64))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal -1 binary64))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal -1 binary64))
(exp (- (pow x 2) 1))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(exp (- (pow x 2) 1))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(exp (- (pow x 2) 1))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(exp (- (pow x 2) 1))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(pow x 2)
(*.f64 x x)
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal -1 binary64))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal -1 binary64))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal -1 binary64))
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(exp (- (pow x 2) 1))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(exp (- (pow x 2) 1))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(exp (- (pow x 2) 1))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(exp (- (pow x 2) 1))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(pow x 2)
(*.f64 x x)
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal -1 binary64))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal -1 binary64))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal -1 binary64))
(pow (exp (* 1/2 (- (pow x 2) 1))) 2)
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(pow (exp (* 1/2 (- (pow x 2) 1))) 2)
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(pow (exp (* 1/2 (- (pow x 2) 1))) 2)
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(pow (exp (* 1/2 (- (pow x 2) 1))) 2)
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(exp (* 1/2 (- (pow x 2) 1)))
(sqrt.f64 (exp.f64 (fma.f64 x x #s(literal -1 binary64))))
(exp (* 1/2 (- (pow x 2) 1)))
(sqrt.f64 (exp.f64 (fma.f64 x x #s(literal -1 binary64))))
(exp (* 1/2 (- (pow x 2) 1)))
(sqrt.f64 (exp.f64 (fma.f64 x x #s(literal -1 binary64))))
(exp (* 1/2 (- (pow x 2) 1)))
(sqrt.f64 (exp.f64 (fma.f64 x x #s(literal -1 binary64))))
(* -1/2 (pow x 2))
(*.f64 #s(literal -1/2 binary64) (*.f64 x x))
(* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/2))
(fma.f64 #s(literal -1/2 binary64) (*.f64 x x) #s(literal 1/2 binary64))
(* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/2))
(fma.f64 #s(literal -1/2 binary64) (*.f64 x x) #s(literal 1/2 binary64))
(* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/2))
(fma.f64 #s(literal -1/2 binary64) (*.f64 x x) #s(literal 1/2 binary64))
(exp (- (pow x 2) 1))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(exp (- (pow x 2) 1))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(exp (- (pow x 2) 1))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(exp (- (pow x 2) 1))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(pow x 2)
(*.f64 x x)
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal -1 binary64))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal -1 binary64))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal -1 binary64))
(exp (- (pow x 2) 1))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(exp (- (pow x 2) 1))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(exp (- (pow x 2) 1))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(exp (- (pow x 2) 1))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(pow x 2)
(*.f64 x x)
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal -1 binary64))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal -1 binary64))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal -1 binary64))
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(exp (- (pow x 2) 1))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(exp (- (pow x 2) 1))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(exp (- (pow x 2) 1))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(exp (- (pow x 2) 1))
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(pow x 2)
(*.f64 x x)
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal -1 binary64))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal -1 binary64))
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(fma.f64 x x #s(literal -1 binary64))
(pow (exp (* 1/2 (- (pow x 2) 1))) 2)
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(pow (exp (* 1/2 (- (pow x 2) 1))) 2)
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(pow (exp (* 1/2 (- (pow x 2) 1))) 2)
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(pow (exp (* 1/2 (- (pow x 2) 1))) 2)
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(exp (* 1/2 (- (pow x 2) 1)))
(sqrt.f64 (exp.f64 (fma.f64 x x #s(literal -1 binary64))))
(exp (* 1/2 (- (pow x 2) 1)))
(sqrt.f64 (exp.f64 (fma.f64 x x #s(literal -1 binary64))))
(exp (* 1/2 (- (pow x 2) 1)))
(sqrt.f64 (exp.f64 (fma.f64 x x #s(literal -1 binary64))))
(exp (* 1/2 (- (pow x 2) 1)))
(sqrt.f64 (exp.f64 (fma.f64 x x #s(literal -1 binary64))))
(* -1/2 (pow x 2))
(*.f64 #s(literal -1/2 binary64) (*.f64 x x))
(* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/2))
(fma.f64 #s(literal -1/2 binary64) (*.f64 x x) #s(literal 1/2 binary64))
(* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/2))
(fma.f64 #s(literal -1/2 binary64) (*.f64 x x) #s(literal 1/2 binary64))
(* (pow x 2) (- (* 1/2 (/ 1 (pow x 2))) 1/2))
(fma.f64 #s(literal -1/2 binary64) (*.f64 x x) #s(literal 1/2 binary64))

rewrite201.0ms (4.4%)

Memory
-5.2MiB live, 272.5MiB allocated
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01978
02872
19262
252961
3560261
0895461
Stop Event
iter limit
node limit
iter limit
Counts
11 → 1 141
Calls
Call 1
Inputs
(exp.f64 #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64)))
#s(approx (neg (- 1 (* x x))) #s(literal -1 binary64))
(exp.f64 #s(approx (neg (- 1 (* x x))) (*.f64 x x)))
#s(approx (neg (- 1 (* x x))) (*.f64 x x))
(*.f64 x x)
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(fma.f64 x x #s(literal -1 binary64))
(pow.f64 (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64))) #s(literal 2 binary64))
(pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64)))
(/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal -2 binary64))
(exp.f64 #s(literal -1 binary64))
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval260.0ms (5.7%)

Memory
55.3MiB live, 611.1MiB allocated
Compiler

Compiled 26 120 to 3 374 computations (87.1% saved)

prune128.0ms (2.8%)

Memory
-22.1MiB live, 127.3MiB allocated
Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New1 55611 557
Fresh000
Picked134
Done000
Total1 55741 561
Accuracy
100.0%
Counts
1 561 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(pow.f64 (exp.f64 (-.f64 x #s(literal 1 binary64))) (+.f64 x #s(literal 1 binary64)))
100.0%
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
60.8%
(exp.f64 #s(approx (neg (- 1 (* x x))) (*.f64 x x)))
48.1%
(exp.f64 #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64)))
Compiler

Compiled 21 to 18 computations (14.3% saved)

simplify3.0ms (0.1%)

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

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff-512
(exp.f64 (-.f64 x #s(literal 1 binary64)))
cost-diff0
(+.f64 x #s(literal 1 binary64))
cost-diff0
(-.f64 x #s(literal 1 binary64))
cost-diff0
(pow.f64 (exp.f64 (-.f64 x #s(literal 1 binary64))) (+.f64 x #s(literal 1 binary64)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0620
01020
11920
22320
32420
02420
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(pow.f64 (exp.f64 (-.f64 x #s(literal 1 binary64))) (+.f64 x #s(literal 1 binary64)))
(exp.f64 (-.f64 x #s(literal 1 binary64)))
(-.f64 x #s(literal 1 binary64))
x
#s(literal 1 binary64)
(+.f64 x #s(literal 1 binary64))
Outputs
(pow.f64 (exp.f64 (-.f64 x #s(literal 1 binary64))) (+.f64 x #s(literal 1 binary64)))
(pow.f64 (/.f64 (exp.f64 x) (E.f64)) (+.f64 #s(literal 1 binary64) x))
(exp.f64 (-.f64 x #s(literal 1 binary64)))
(/.f64 (exp.f64 x) (E.f64))
(-.f64 x #s(literal 1 binary64))
x
#s(literal 1 binary64)
(+.f64 x #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) x)

localize32.0ms (0.7%)

Memory
-7.7MiB live, 104.1MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0
(-.f64 x #s(literal 1 binary64))
accuracy0
(+.f64 x #s(literal 1 binary64))
accuracy0.01171875
(exp.f64 (-.f64 x #s(literal 1 binary64)))
accuracy0.015625
(pow.f64 (exp.f64 (-.f64 x #s(literal 1 binary64))) (+.f64 x #s(literal 1 binary64)))
Samples
27.0ms256×0valid
Compiler

Compiled 22 to 8 computations (63.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 19.0ms
ival-sub: 10.0ms (52.5% of total)
ival-pow: 5.0ms (26.3% of total)
ival-exp: 3.0ms (15.8% of total)
ival-add: 1.0ms (5.3% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series3.0ms (0.1%)

Memory
9.9MiB live, 9.9MiB allocated
Counts
4 → 48
Calls
Call 1
Inputs
#s(alt (pow.f64 (exp.f64 (-.f64 x #s(literal 1 binary64))) (+.f64 x #s(literal 1 binary64))) (patch (pow.f64 (exp.f64 (-.f64 x #s(literal 1 binary64))) (+.f64 x #s(literal 1 binary64))) #<representation binary64>) () ())
#s(alt (-.f64 x #s(literal 1 binary64)) (patch (-.f64 x #s(literal 1 binary64)) #<representation binary64>) () ())
#s(alt (+.f64 x #s(literal 1 binary64)) (patch (+.f64 x #s(literal 1 binary64)) #<representation binary64>) () ())
#s(alt (exp.f64 (-.f64 x #s(literal 1 binary64))) (patch (exp.f64 (-.f64 x #s(literal 1 binary64))) #<representation binary64>) () ())
Outputs
#s(alt (exp -1) (taylor 0 x) (#s(alt (pow.f64 (exp.f64 (-.f64 x #s(literal 1 binary64))) (+.f64 x #s(literal 1 binary64))) (patch (pow.f64 (exp.f64 (-.f64 x #s(literal 1 binary64))) (+.f64 x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (exp -1) (* (pow x 2) (exp -1))) (taylor 0 x) (#s(alt (pow.f64 (exp.f64 (-.f64 x #s(literal 1 binary64))) (+.f64 x #s(literal 1 binary64))) (patch (pow.f64 (exp.f64 (-.f64 x #s(literal 1 binary64))) (+.f64 x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (exp -1) (* (pow x 2) (+ (exp -1) (* 1/2 (* (pow x 2) (exp -1)))))) (taylor 0 x) (#s(alt (pow.f64 (exp.f64 (-.f64 x #s(literal 1 binary64))) (+.f64 x #s(literal 1 binary64))) (patch (pow.f64 (exp.f64 (-.f64 x #s(literal 1 binary64))) (+.f64 x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (exp -1) (* (pow x 2) (+ (exp -1) (* (pow x 2) (+ (* 1/6 (* (pow x 2) (exp -1))) (* 1/2 (exp -1))))))) (taylor 0 x) (#s(alt (pow.f64 (exp.f64 (-.f64 x #s(literal 1 binary64))) (+.f64 x #s(literal 1 binary64))) (patch (pow.f64 (exp.f64 (-.f64 x #s(literal 1 binary64))) (+.f64 x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt -1 (taylor 0 x) (#s(alt (-.f64 x #s(literal 1 binary64)) (patch (-.f64 x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (- x 1) (taylor 0 x) (#s(alt (-.f64 x #s(literal 1 binary64)) (patch (-.f64 x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (- x 1) (taylor 0 x) (#s(alt (-.f64 x #s(literal 1 binary64)) (patch (-.f64 x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (- x 1) (taylor 0 x) (#s(alt (-.f64 x #s(literal 1 binary64)) (patch (-.f64 x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt 1 (taylor 0 x) (#s(alt (+.f64 x #s(literal 1 binary64)) (patch (+.f64 x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1 x) (taylor 0 x) (#s(alt (+.f64 x #s(literal 1 binary64)) (patch (+.f64 x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1 x) (taylor 0 x) (#s(alt (+.f64 x #s(literal 1 binary64)) (patch (+.f64 x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1 x) (taylor 0 x) (#s(alt (+.f64 x #s(literal 1 binary64)) (patch (+.f64 x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (exp -1) (taylor 0 x) (#s(alt (exp.f64 (-.f64 x #s(literal 1 binary64))) (patch (exp.f64 (-.f64 x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (exp -1) (* x (exp -1))) (taylor 0 x) (#s(alt (exp.f64 (-.f64 x #s(literal 1 binary64))) (patch (exp.f64 (-.f64 x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (exp -1) (* x (+ (exp -1) (* 1/2 (* x (exp -1)))))) (taylor 0 x) (#s(alt (exp.f64 (-.f64 x #s(literal 1 binary64))) (patch (exp.f64 (-.f64 x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (exp -1) (* x (+ (exp -1) (* x (+ (* 1/6 (* x (exp -1))) (* 1/2 (exp -1))))))) (taylor 0 x) (#s(alt (exp.f64 (-.f64 x #s(literal 1 binary64))) (patch (exp.f64 (-.f64 x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (exp (* (+ 1 x) (- x 1))) (taylor inf x) (#s(alt (pow.f64 (exp.f64 (-.f64 x #s(literal 1 binary64))) (+.f64 x #s(literal 1 binary64))) (patch (pow.f64 (exp.f64 (-.f64 x #s(literal 1 binary64))) (+.f64 x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (exp (* (+ 1 x) (- x 1))) (taylor inf x) (#s(alt (pow.f64 (exp.f64 (-.f64 x #s(literal 1 binary64))) (+.f64 x #s(literal 1 binary64))) (patch (pow.f64 (exp.f64 (-.f64 x #s(literal 1 binary64))) (+.f64 x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (exp (* (+ 1 x) (- x 1))) (taylor inf x) (#s(alt (pow.f64 (exp.f64 (-.f64 x #s(literal 1 binary64))) (+.f64 x #s(literal 1 binary64))) (patch (pow.f64 (exp.f64 (-.f64 x #s(literal 1 binary64))) (+.f64 x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (exp (* (+ 1 x) (- x 1))) (taylor inf x) (#s(alt (pow.f64 (exp.f64 (-.f64 x #s(literal 1 binary64))) (+.f64 x #s(literal 1 binary64))) (patch (pow.f64 (exp.f64 (-.f64 x #s(literal 1 binary64))) (+.f64 x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt x (taylor inf x) (#s(alt (-.f64 x #s(literal 1 binary64)) (patch (-.f64 x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (- 1 (/ 1 x))) (taylor inf x) (#s(alt (-.f64 x #s(literal 1 binary64)) (patch (-.f64 x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (- 1 (/ 1 x))) (taylor inf x) (#s(alt (-.f64 x #s(literal 1 binary64)) (patch (-.f64 x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (- 1 (/ 1 x))) (taylor inf x) (#s(alt (-.f64 x #s(literal 1 binary64)) (patch (-.f64 x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt x (taylor inf x) (#s(alt (+.f64 x #s(literal 1 binary64)) (patch (+.f64 x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (/ 1 x))) (taylor inf x) (#s(alt (+.f64 x #s(literal 1 binary64)) (patch (+.f64 x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (/ 1 x))) (taylor inf x) (#s(alt (+.f64 x #s(literal 1 binary64)) (patch (+.f64 x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (/ 1 x))) (taylor inf x) (#s(alt (+.f64 x #s(literal 1 binary64)) (patch (+.f64 x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (exp (- x 1)) (taylor inf x) (#s(alt (exp.f64 (-.f64 x #s(literal 1 binary64))) (patch (exp.f64 (-.f64 x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (exp (- x 1)) (taylor inf x) (#s(alt (exp.f64 (-.f64 x #s(literal 1 binary64))) (patch (exp.f64 (-.f64 x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (exp (- x 1)) (taylor inf x) (#s(alt (exp.f64 (-.f64 x #s(literal 1 binary64))) (patch (exp.f64 (-.f64 x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (exp (- x 1)) (taylor inf x) (#s(alt (exp.f64 (-.f64 x #s(literal 1 binary64))) (patch (exp.f64 (-.f64 x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (exp (* -1 (* (+ 1 (* -1 x)) (- 1 (* -1 x))))) (taylor -inf x) (#s(alt (pow.f64 (exp.f64 (-.f64 x #s(literal 1 binary64))) (+.f64 x #s(literal 1 binary64))) (patch (pow.f64 (exp.f64 (-.f64 x #s(literal 1 binary64))) (+.f64 x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (exp (* -1 (* (+ 1 (* -1 x)) (- 1 (* -1 x))))) (taylor -inf x) (#s(alt (pow.f64 (exp.f64 (-.f64 x #s(literal 1 binary64))) (+.f64 x #s(literal 1 binary64))) (patch (pow.f64 (exp.f64 (-.f64 x #s(literal 1 binary64))) (+.f64 x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (exp (* -1 (* (+ 1 (* -1 x)) (- 1 (* -1 x))))) (taylor -inf x) (#s(alt (pow.f64 (exp.f64 (-.f64 x #s(literal 1 binary64))) (+.f64 x #s(literal 1 binary64))) (patch (pow.f64 (exp.f64 (-.f64 x #s(literal 1 binary64))) (+.f64 x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (exp (* -1 (* (+ 1 (* -1 x)) (- 1 (* -1 x))))) (taylor -inf x) (#s(alt (pow.f64 (exp.f64 (-.f64 x #s(literal 1 binary64))) (+.f64 x #s(literal 1 binary64))) (patch (pow.f64 (exp.f64 (-.f64 x #s(literal 1 binary64))) (+.f64 x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt x (taylor -inf x) (#s(alt (-.f64 x #s(literal 1 binary64)) (patch (-.f64 x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- (/ 1 x) 1))) (taylor -inf x) (#s(alt (-.f64 x #s(literal 1 binary64)) (patch (-.f64 x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- (/ 1 x) 1))) (taylor -inf x) (#s(alt (-.f64 x #s(literal 1 binary64)) (patch (-.f64 x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- (/ 1 x) 1))) (taylor -inf x) (#s(alt (-.f64 x #s(literal 1 binary64)) (patch (-.f64 x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt x (taylor -inf x) (#s(alt (+.f64 x #s(literal 1 binary64)) (patch (+.f64 x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (/ 1 x))) (taylor -inf x) (#s(alt (+.f64 x #s(literal 1 binary64)) (patch (+.f64 x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (/ 1 x))) (taylor -inf x) (#s(alt (+.f64 x #s(literal 1 binary64)) (patch (+.f64 x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (/ 1 x))) (taylor -inf x) (#s(alt (+.f64 x #s(literal 1 binary64)) (patch (+.f64 x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (exp (neg (+ 1 (* -1 x)))) (taylor -inf x) (#s(alt (exp.f64 (-.f64 x #s(literal 1 binary64))) (patch (exp.f64 (-.f64 x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (exp (neg (+ 1 (* -1 x)))) (taylor -inf x) (#s(alt (exp.f64 (-.f64 x #s(literal 1 binary64))) (patch (exp.f64 (-.f64 x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (exp (neg (+ 1 (* -1 x)))) (taylor -inf x) (#s(alt (exp.f64 (-.f64 x #s(literal 1 binary64))) (patch (exp.f64 (-.f64 x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (exp (neg (+ 1 (* -1 x)))) (taylor -inf x) (#s(alt (exp.f64 (-.f64 x #s(literal 1 binary64))) (patch (exp.f64 (-.f64 x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
Calls

3 calls:

TimeVariablePointExpression
1.0ms
x
@0
((pow (exp (- x 1)) (+ x 1)) (- x 1) (+ x 1) (exp (- x 1)))
0.0ms
x
@inf
((pow (exp (- x 1)) (+ x 1)) (- x 1) (+ x 1) (exp (- x 1)))
0.0ms
x
@-inf
((pow (exp (- x 1)) (+ x 1)) (- x 1) (+ x 1) (exp (- x 1)))

simplify191.0ms (4.2%)

Memory
15.2MiB live, 247.8MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
054254
1168246
2477241
31607236
44854236
08084225
Stop Event
iter limit
node limit
Counts
48 → 44
Calls
Call 1
Inputs
(exp -1)
(+ (exp -1) (* (pow x 2) (exp -1)))
(+ (exp -1) (* (pow x 2) (+ (exp -1) (* 1/2 (* (pow x 2) (exp -1))))))
(+ (exp -1) (* (pow x 2) (+ (exp -1) (* (pow x 2) (+ (* 1/6 (* (pow x 2) (exp -1))) (* 1/2 (exp -1)))))))
-1
(- x 1)
(- x 1)
(- x 1)
1
(+ 1 x)
(+ 1 x)
(+ 1 x)
(exp -1)
(+ (exp -1) (* x (exp -1)))
(+ (exp -1) (* x (+ (exp -1) (* 1/2 (* x (exp -1))))))
(+ (exp -1) (* x (+ (exp -1) (* x (+ (* 1/6 (* x (exp -1))) (* 1/2 (exp -1)))))))
(exp (* (+ 1 x) (- x 1)))
(exp (* (+ 1 x) (- x 1)))
(exp (* (+ 1 x) (- x 1)))
(exp (* (+ 1 x) (- x 1)))
x
(* x (- 1 (/ 1 x)))
(* x (- 1 (/ 1 x)))
(* x (- 1 (/ 1 x)))
x
(* x (+ 1 (/ 1 x)))
(* x (+ 1 (/ 1 x)))
(* x (+ 1 (/ 1 x)))
(exp (- x 1))
(exp (- x 1))
(exp (- x 1))
(exp (- x 1))
(exp (* -1 (* (+ 1 (* -1 x)) (- 1 (* -1 x)))))
(exp (* -1 (* (+ 1 (* -1 x)) (- 1 (* -1 x)))))
(exp (* -1 (* (+ 1 (* -1 x)) (- 1 (* -1 x)))))
(exp (* -1 (* (+ 1 (* -1 x)) (- 1 (* -1 x)))))
x
(* -1 (* x (- (/ 1 x) 1)))
(* -1 (* x (- (/ 1 x) 1)))
(* -1 (* x (- (/ 1 x) 1)))
x
(* x (+ 1 (/ 1 x)))
(* x (+ 1 (/ 1 x)))
(* x (+ 1 (/ 1 x)))
(exp (neg (+ 1 (* -1 x))))
(exp (neg (+ 1 (* -1 x))))
(exp (neg (+ 1 (* -1 x))))
(exp (neg (+ 1 (* -1 x))))
Outputs
(exp -1)
(exp.f64 #s(literal -1 binary64))
(+ (exp -1) (* (pow x 2) (exp -1)))
(*.f64 (fma.f64 x x #s(literal 1 binary64)) (exp.f64 #s(literal -1 binary64)))
(+ (exp -1) (* (pow x 2) (+ (exp -1) (* 1/2 (* (pow x 2) (exp -1))))))
(*.f64 (fma.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 1/2 binary64) (fma.f64 x x #s(literal 1 binary64))) (exp.f64 #s(literal -1 binary64)))
(+ (exp -1) (* (pow x 2) (+ (exp -1) (* (pow x 2) (+ (* 1/6 (* (pow x 2) (exp -1))) (* 1/2 (exp -1)))))))
(*.f64 (exp.f64 #s(literal -1 binary64)) (fma.f64 (pow.f64 x #s(literal 4 binary64)) (fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal 1/2 binary64)) (fma.f64 x x #s(literal 1 binary64))))
-1
#s(literal -1 binary64)
(- x 1)
(-.f64 x #s(literal 1 binary64))
(- x 1)
(-.f64 x #s(literal 1 binary64))
(- x 1)
(-.f64 x #s(literal 1 binary64))
1
#s(literal 1 binary64)
(+ 1 x)
(-.f64 x #s(literal -1 binary64))
(+ 1 x)
(-.f64 x #s(literal -1 binary64))
(+ 1 x)
(-.f64 x #s(literal -1 binary64))
(exp -1)
(exp.f64 #s(literal -1 binary64))
(+ (exp -1) (* x (exp -1)))
(fma.f64 x (exp.f64 #s(literal -1 binary64)) (exp.f64 #s(literal -1 binary64)))
(+ (exp -1) (* x (+ (exp -1) (* 1/2 (* x (exp -1))))))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x #s(literal 1 binary64)) (exp.f64 #s(literal -1 binary64)))
(+ (exp -1) (* x (+ (exp -1) (* x (+ (* 1/6 (* x (exp -1))) (* 1/2 (exp -1)))))))
(*.f64 (exp.f64 #s(literal -1 binary64)) (fma.f64 x (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) #s(literal 1 binary64)))
(exp (* (+ 1 x) (- x 1)))
(pow.f64 (exp.f64 (-.f64 #s(literal -1 binary64) x)) (-.f64 #s(literal 1 binary64) x))
(exp (* (+ 1 x) (- x 1)))
(pow.f64 (exp.f64 (-.f64 #s(literal -1 binary64) x)) (-.f64 #s(literal 1 binary64) x))
(exp (* (+ 1 x) (- x 1)))
(pow.f64 (exp.f64 (-.f64 #s(literal -1 binary64) x)) (-.f64 #s(literal 1 binary64) x))
(exp (* (+ 1 x) (- x 1)))
(pow.f64 (exp.f64 (-.f64 #s(literal -1 binary64) x)) (-.f64 #s(literal 1 binary64) x))
x
(* x (- 1 (/ 1 x)))
(-.f64 x #s(literal 1 binary64))
(* x (- 1 (/ 1 x)))
(-.f64 x #s(literal 1 binary64))
(* x (- 1 (/ 1 x)))
(-.f64 x #s(literal 1 binary64))
x
(* x (+ 1 (/ 1 x)))
(-.f64 x #s(literal -1 binary64))
(* x (+ 1 (/ 1 x)))
(-.f64 x #s(literal -1 binary64))
(* x (+ 1 (/ 1 x)))
(-.f64 x #s(literal -1 binary64))
(exp (- x 1))
(/.f64 (exp.f64 x) (E.f64))
(exp (- x 1))
(/.f64 (exp.f64 x) (E.f64))
(exp (- x 1))
(/.f64 (exp.f64 x) (E.f64))
(exp (- x 1))
(/.f64 (exp.f64 x) (E.f64))
(exp (* -1 (* (+ 1 (* -1 x)) (- 1 (* -1 x)))))
(pow.f64 (exp.f64 (-.f64 #s(literal -1 binary64) x)) (-.f64 #s(literal 1 binary64) x))
(exp (* -1 (* (+ 1 (* -1 x)) (- 1 (* -1 x)))))
(pow.f64 (exp.f64 (-.f64 #s(literal -1 binary64) x)) (-.f64 #s(literal 1 binary64) x))
(exp (* -1 (* (+ 1 (* -1 x)) (- 1 (* -1 x)))))
(pow.f64 (exp.f64 (-.f64 #s(literal -1 binary64) x)) (-.f64 #s(literal 1 binary64) x))
(exp (* -1 (* (+ 1 (* -1 x)) (- 1 (* -1 x)))))
(pow.f64 (exp.f64 (-.f64 #s(literal -1 binary64) x)) (-.f64 #s(literal 1 binary64) x))
x
(* -1 (* x (- (/ 1 x) 1)))
(-.f64 x #s(literal 1 binary64))
(* -1 (* x (- (/ 1 x) 1)))
(-.f64 x #s(literal 1 binary64))
(* -1 (* x (- (/ 1 x) 1)))
(-.f64 x #s(literal 1 binary64))
x
(* x (+ 1 (/ 1 x)))
(-.f64 x #s(literal -1 binary64))
(* x (+ 1 (/ 1 x)))
(-.f64 x #s(literal -1 binary64))
(* x (+ 1 (/ 1 x)))
(-.f64 x #s(literal -1 binary64))
(exp (neg (+ 1 (* -1 x))))
(/.f64 (exp.f64 x) (E.f64))
(exp (neg (+ 1 (* -1 x))))
(/.f64 (exp.f64 x) (E.f64))
(exp (neg (+ 1 (* -1 x))))
(/.f64 (exp.f64 x) (E.f64))
(exp (neg (+ 1 (* -1 x))))
(/.f64 (exp.f64 x) (E.f64))

rewrite255.0ms (5.6%)

Memory
-23.5MiB live, 167.4MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0618
01018
14816
228516
3499516
0879315
Stop Event
iter limit
node limit
iter limit
Counts
4 → 756
Calls
Call 1
Inputs
(pow.f64 (exp.f64 (-.f64 x #s(literal 1 binary64))) (+.f64 x #s(literal 1 binary64)))
(-.f64 x #s(literal 1 binary64))
(+.f64 x #s(literal 1 binary64))
(exp.f64 (-.f64 x #s(literal 1 binary64)))
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval158.0ms (3.5%)

Memory
-6.9MiB live, 199.6MiB allocated
Compiler

Compiled 18 098 to 2 484 computations (86.3% saved)

prune16.0ms (0.4%)

Memory
-2.2MiB live, 47.7MiB allocated
Pruning

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New8000800
Fresh000
Picked011
Done033
Total8004804
Accuracy
100.0%
Counts
804 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(pow.f64 (exp.f64 (-.f64 x #s(literal 1 binary64))) (+.f64 x #s(literal 1 binary64)))
100.0%
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
60.8%
(exp.f64 #s(approx (neg (- 1 (* x x))) (*.f64 x x)))
48.1%
(exp.f64 #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64)))
Compiler

Compiled 60 to 41 computations (31.7% saved)

regimes13.0ms (0.3%)

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

5 calls:

2.0ms
x
2.0ms
(*.f64 x x)
2.0ms
(-.f64 #s(literal 1 binary64) (*.f64 x x))
2.0ms
(neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)))
2.0ms
(exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))))
Results
AccuracySegmentsBranch
100.0%1x
100.0%1(exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))))
100.0%1(neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)))
100.0%1(-.f64 #s(literal 1 binary64) (*.f64 x x))
100.0%1(*.f64 x x)
Compiler

Compiled 22 to 18 computations (18.2% saved)

regimes7.0ms (0.2%)

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

5 calls:

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

Compiled 22 to 18 computations (18.2% saved)

regimes6.0ms (0.1%)

Memory
16.2MiB live, 16.2MiB allocated
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

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

5 calls:

1.0ms
x
1.0ms
(*.f64 x x)
1.0ms
(-.f64 #s(literal 1 binary64) (*.f64 x x))
1.0ms
(neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)))
1.0ms
(exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))))
Results
AccuracySegmentsBranch
48.1%1x
48.1%1(exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))))
48.1%1(neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)))
48.1%1(-.f64 #s(literal 1 binary64) (*.f64 x x))
48.1%1(*.f64 x x)
Compiler

Compiled 22 to 18 computations (18.2% saved)

bsearch14.0ms (0.3%)

Memory
-14.7MiB live, 23.5MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
13.0ms
0.8818876715182359
576320411.2646981
Samples
6.0ms144×0valid
Compiler

Compiled 64 to 91 computations (-42.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 3.0ms
ival-sub: 1.0ms (32.7% of total)
ival-exp: 1.0ms (32.7% of total)
ival-neg: 1.0ms (32.7% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

simplify22.0ms (0.5%)

Memory
11.0MiB live, 49.2MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01640
11940
Stop Event
saturated
Calls
Call 1
Inputs
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(if (<=.f64 (*.f64 x x) #s(literal 8286623314361713/9007199254740992 binary64)) (exp.f64 #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64))) (exp.f64 #s(approx (neg (- 1 (* x x))) (*.f64 x x))))
(exp.f64 #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64)))
Outputs
(exp.f64 (fma.f64 x x #s(literal -1 binary64)))
(if (<=.f64 (*.f64 x x) #s(literal 8286623314361713/9007199254740992 binary64)) (exp.f64 #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64))) (exp.f64 #s(approx (neg (- 1 (* x x))) (*.f64 x x))))
(exp.f64 #s(approx (neg (- 1 (* x x))) #s(literal -1 binary64)))

soundness386.0ms (8.4%)

Memory
5.8MiB live, 275.6MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
030254
181241
2247237
3605234
41328234
52025234
63122234
75538234
08219211
0621
01021
13719
222719
3192319
0930416
Stop Event
done
iter limit
node limit
iter limit
iter limit
node limit
Compiler

Compiled 42 to 30 computations (28.6% saved)

preprocess54.0ms (1.2%)

Memory
-34.8MiB live, 83.9MiB allocated
Remove

(abs x)

Compiler

Compiled 68 to 44 computations (35.3% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...