Hyperbolic arc-cosine

Time bar (total: 5.9s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated

analyze69.0ms (1.2%)

Memory
-14.4MiB live, 144.3MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%100%0%0%0%0%0
0%0%100%0%0%0%0%1
0%0%100%0%0%0%0%2
0%0%100%0%0%0%0%3
16.7%12.5%62.5%0%0%25%0%4
30%18.7%43.7%0%0%37.5%0%5
38.9%21.9%34.4%0%0%43.7%0%6
44.1%23.4%29.7%0%0%46.9%0%7
47%24.2%27.3%0%0%48.4%0%8
48.5%24.6%26.2%0%0%49.2%0%9
49.2%24.8%25.6%0%0%49.6%0%10
49.6%24.9%25.3%0%0%49.8%0%11
49.8%24.9%25.1%0%0%49.9%0%12
Compiler

Compiled 11 to 9 computations (18.2% saved)

sample2.1s (35.6%)

Memory
53.9MiB live, 2 491.0MiB allocated
Samples
940.0ms7 158×1invalid
583.0ms8 256×0valid
62.0ms1 140×0invalid
Precisions
Click to see histograms. Total time spent on operations: 1.1s
ival-log: 272.0ms (23.8% of total)
ival-sqrt: 204.0ms (17.9% of total)
ival-mult: 182.0ms (16% of total)
ival-sub: 177.0ms (15.5% of total)
adjust: 150.0ms (13.1% of total)
ival-add: 125.0ms (11% of total)
ival-true: 12.0ms (1.1% of total)
exact: 11.0ms (1% of total)
ival-assert: 7.0ms (0.6% of total)
Bogosity

explain103.0ms (1.7%)

Memory
8.9MiB live, 167.5MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
1220-0-(sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))
10-0-(log.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))))
00-0-(+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))))
00-0-#s(literal 1 binary64)
00-0-(*.f64 x x)
00-0-(-.f64 (*.f64 x x) #s(literal 1 binary64))
00-0-x
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
sqrt.f64(sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))oflow-rescue1220
(-.f64 (*.f64 x x) #s(literal 1 binary64))overflow122
(*.f64 x x)overflow122
log.f64(log.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))))oflow-rescue10
(+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))))overflow1
(-.f64 (*.f64 x x) #s(literal 1 binary64))overflow122
(*.f64 x x)overflow122
Confusion
Predicted +Predicted -
+1220
-0134
Precision
1.0
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+12200
-00134
Precision?
1.0
Recall?
1.0
Freqs
test
numberfreq
0134
1121
21
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
39.0ms512×0valid
Compiler

Compiled 79 to 25 computations (68.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 20.0ms
ival-log: 6.0ms (30.1% of total)
ival-mult: 4.0ms (20.1% of total)
ival-sqrt: 4.0ms (20.1% of total)
ival-add: 3.0ms (15% of total)
ival-sub: 2.0ms (10% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess440.0ms (7.5%)

Memory
-12.6MiB live, 258.8MiB allocated
Algorithm
egg-herbie
Rules
29 894×lower-fma.f64
29 894×lower-fma.f32
4 210×lower-*.f32
4 208×lower-*.f64
2 884×lower-+.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0921
12719
25919
313019
429519
557919
6108819
7167719
8302119
9411819
10505919
11548719
12572719
13579919
14588319
15647519
16756519
17762119
18771919
19775319
20776919
079
0129
1219
2259
3409
4719
51329
62929
75729
820459
931559
1044339
1151069
1254089
1355939
1456959
1560149
1665609
1776719
080918
Stop Event
iter limit
node limit
iter limit
node limit
Calls
Call 1
Inputs
(log.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))))
Outputs
(log.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))))
(log.f64 (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x))
Compiler

Compiled 9 to 7 computations (22.2% saved)

eval0.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated
Compiler

Compiled 0 to 1 computations (-∞% saved)

prune1.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
53.8%
(log.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))))
Compiler

Compiled 9 to 7 computations (22.2% saved)

simplify301.0ms (5.1%)

Memory
8.5MiB live, 213.2MiB allocated
Algorithm
egg-herbie
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))
cost-diff0
(+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))))
cost-diff0
(log.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))))
cost-diff128
(-.f64 (*.f64 x x) #s(literal 1 binary64))
Rules
29 894×lower-fma.f64
29 894×lower-fma.f32
4 210×lower-*.f32
4 208×lower-*.f64
2 884×lower-+.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0733
01233
12133
22533
34033
47133
513233
629233
757233
8204533
9315533
10443333
11510633
12540833
13559333
14569533
15601433
16656033
17767133
0809129
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(log.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))))
(+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))))
x
(sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))
(-.f64 (*.f64 x x) #s(literal 1 binary64))
(*.f64 x x)
#s(literal 1 binary64)
Outputs
(log.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))))
(log.f64 (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x))
(+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))))
(+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x)
x
(sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))
(sqrt.f64 (fma.f64 x x #s(literal -1 binary64)))
(-.f64 (*.f64 x x) #s(literal 1 binary64))
(fma.f64 x x #s(literal -1 binary64))
(*.f64 x x)
#s(literal 1 binary64)

localize22.0ms (0.4%)

Memory
-11.6MiB live, 27.4MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0
(*.f64 x x)
accuracy0.01171875
(+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))))
accuracy0.24213559732759196
(log.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))))
accuracy28.44084949445194
(sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))
Samples
17.0ms256×0valid
Compiler

Compiled 35 to 9 computations (74.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 10.0ms
ival-log: 3.0ms (30.8% of total)
ival-mult: 2.0ms (20.5% of total)
ival-sqrt: 2.0ms (20.5% of total)
ival-sub: 1.0ms (10.3% of total)
ival-add: 1.0ms (10.3% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series6.0ms (0.1%)

Memory
7.3MiB live, 7.3MiB allocated
Counts
5 → 60
Calls
Call 1
Inputs
#s(alt (-.f64 (*.f64 x x) #s(literal 1 binary64)) (patch (-.f64 (*.f64 x x) #s(literal 1 binary64)) #<representation binary64>) () ())
#s(alt (log.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))))) (patch (log.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))))) #<representation binary64>) () ())
#s(alt (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))) (patch (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))) #<representation binary64>) () ())
#s(alt (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))) (patch (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))) #<representation binary64>) () ())
#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())
Outputs
#s(alt -1 (taylor 0 x) (#s(alt (-.f64 (*.f64 x x) #s(literal 1 binary64)) (patch (-.f64 (*.f64 x x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (pow x 2) 1) (taylor 0 x) (#s(alt (-.f64 (*.f64 x x) #s(literal 1 binary64)) (patch (-.f64 (*.f64 x x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (pow x 2) 1) (taylor 0 x) (#s(alt (-.f64 (*.f64 x x) #s(literal 1 binary64)) (patch (-.f64 (*.f64 x x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (pow x 2) 1) (taylor 0 x) (#s(alt (-.f64 (*.f64 x x) #s(literal 1 binary64)) (patch (-.f64 (*.f64 x x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (log (sqrt -1)) (taylor 0 x) (#s(alt (log.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))))) (patch (log.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))))) #<representation binary64>) () ())) ())
#s(alt (+ (log (sqrt -1)) (/ x (sqrt -1))) (taylor 0 x) (#s(alt (log.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))))) (patch (log.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))))) #<representation binary64>) () ())) ())
#s(alt (+ (log (sqrt -1)) (* x (+ (* -1/6 (/ (pow x 2) (pow (sqrt -1) 3))) (/ 1 (sqrt -1))))) (taylor 0 x) (#s(alt (log.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))))) (patch (log.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))))) #<representation binary64>) () ())) ())
#s(alt (+ (log (sqrt -1)) (* x (+ (* (pow x 2) (- (* 3/40 (/ (pow x 2) (pow (sqrt -1) 5))) (* 1/6 (/ 1 (pow (sqrt -1) 3))))) (/ 1 (sqrt -1))))) (taylor 0 x) (#s(alt (log.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))))) (patch (log.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))))) #<representation binary64>) () ())) ())
#s(alt (sqrt -1) (taylor 0 x) (#s(alt (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))) (patch (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))) #<representation binary64>) () ())) ())
#s(alt (+ x (sqrt -1)) (taylor 0 x) (#s(alt (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))) (patch (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))) #<representation binary64>) () ())) ())
#s(alt (+ (sqrt -1) (* x (+ 1 (* 1/2 (/ x (sqrt -1)))))) (taylor 0 x) (#s(alt (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))) (patch (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))) #<representation binary64>) () ())) ())
#s(alt (+ (sqrt -1) (* x (+ 1 (* x (+ (* -1/8 (/ (pow x 2) (pow (sqrt -1) 3))) (* 1/2 (/ 1 (sqrt -1)))))))) (taylor 0 x) (#s(alt (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))) (patch (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))) #<representation binary64>) () ())) ())
#s(alt (sqrt -1) (taylor 0 x) (#s(alt (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))) (patch (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (sqrt -1) (* 1/2 (/ (pow x 2) (sqrt -1)))) (taylor 0 x) (#s(alt (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))) (patch (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (sqrt -1) (* (pow x 2) (+ (* -1/8 (/ (pow x 2) (pow (sqrt -1) 3))) (* 1/2 (/ 1 (sqrt -1)))))) (taylor 0 x) (#s(alt (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))) (patch (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (sqrt -1) (* (pow x 2) (+ (* (pow x 2) (- (* 1/16 (/ (pow x 2) (pow (sqrt -1) 5))) (* 1/8 (/ 1 (pow (sqrt -1) 3))))) (* 1/2 (/ 1 (sqrt -1)))))) (taylor 0 x) (#s(alt (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))) (patch (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))) #<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 (-.f64 (*.f64 x x) #s(literal 1 binary64)) (patch (-.f64 (*.f64 x x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- 1 (/ 1 (pow x 2)))) (taylor inf x) (#s(alt (-.f64 (*.f64 x x) #s(literal 1 binary64)) (patch (-.f64 (*.f64 x x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- 1 (/ 1 (pow x 2)))) (taylor inf x) (#s(alt (-.f64 (*.f64 x x) #s(literal 1 binary64)) (patch (-.f64 (*.f64 x x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- 1 (/ 1 (pow x 2)))) (taylor inf x) (#s(alt (-.f64 (*.f64 x x) #s(literal 1 binary64)) (patch (-.f64 (*.f64 x x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ (log 2) (* -1 (log (/ 1 x)))) (taylor inf x) (#s(alt (log.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))))) (patch (log.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))))) #<representation binary64>) () ())) ())
#s(alt (- (+ (log 2) (* -1 (log (/ 1 x)))) (* 1/4 (/ 1 (pow x 2)))) (taylor inf x) (#s(alt (log.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))))) (patch (log.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))))) #<representation binary64>) () ())) ())
#s(alt (+ (log 2) (+ (* -1 (log (/ 1 x))) (* -1 (/ (+ 1/4 (* 3/32 (/ 1 (pow x 2)))) (pow x 2))))) (taylor inf x) (#s(alt (log.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))))) (patch (log.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))))) #<representation binary64>) () ())) ())
#s(alt (- (+ (log 2) (+ (* -1 (log (/ 1 x))) (* -1 (/ (+ 3/32 (* 5/96 (/ 1 (pow x 2)))) (pow x 4))))) (* 1/4 (/ 1 (pow x 2)))) (taylor inf x) (#s(alt (log.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))))) (patch (log.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))))) #<representation binary64>) () ())) ())
#s(alt (* 2 x) (taylor inf x) (#s(alt (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))) (patch (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* x (- 2 (* 1/2 (/ 1 (pow x 2))))) (taylor inf x) (#s(alt (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))) (patch (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 2 (* -1 (/ (+ 1/2 (* 1/8 (/ 1 (pow x 2)))) (pow x 2))))) (taylor inf x) (#s(alt (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))) (patch (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* x (- (+ 2 (* -1 (/ (+ 1/8 (* 1/16 (/ 1 (pow x 2)))) (pow x 4)))) (* 1/2 (/ 1 (pow x 2))))) (taylor inf x) (#s(alt (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))) (patch (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))) #<representation binary64>) () ())) ())
#s(alt x (taylor inf x) (#s(alt (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))) (patch (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (- 1 (* 1/2 (/ 1 (pow x 2))))) (taylor inf x) (#s(alt (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))) (patch (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* -1 (/ (+ 1/2 (* 1/8 (/ 1 (pow x 2)))) (pow x 2))))) (taylor inf x) (#s(alt (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))) (patch (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (- (+ 1 (* -1 (/ (+ 1/8 (* 1/16 (/ 1 (pow x 2)))) (pow x 4)))) (* 1/2 (/ 1 (pow x 2))))) (taylor inf x) (#s(alt (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))) (patch (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))) #<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 (-.f64 (*.f64 x x) #s(literal 1 binary64)) (patch (-.f64 (*.f64 x x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- 1 (/ 1 (pow x 2)))) (taylor -inf x) (#s(alt (-.f64 (*.f64 x x) #s(literal 1 binary64)) (patch (-.f64 (*.f64 x x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- 1 (/ 1 (pow x 2)))) (taylor -inf x) (#s(alt (-.f64 (*.f64 x x) #s(literal 1 binary64)) (patch (-.f64 (*.f64 x x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (- 1 (/ 1 (pow x 2)))) (taylor -inf x) (#s(alt (-.f64 (*.f64 x x) #s(literal 1 binary64)) (patch (-.f64 (*.f64 x x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ (log -1/2) (log (/ -1 x))) (taylor -inf x) (#s(alt (log.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))))) (patch (log.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))))) #<representation binary64>) () ())) ())
#s(alt (+ (log -1/2) (+ (log (/ -1 x)) (* 1/4 (/ 1 (pow x 2))))) (taylor -inf x) (#s(alt (log.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))))) (patch (log.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))))) #<representation binary64>) () ())) ())
#s(alt (+ (log -1/2) (+ (log (/ -1 x)) (+ (/ 3/32 (pow x 4)) (* 1/4 (/ 1 (pow x 2)))))) (taylor -inf x) (#s(alt (log.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))))) (patch (log.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))))) #<representation binary64>) () ())) ())
#s(alt (+ (log -1/2) (+ (log (/ -1 x)) (+ (/ 3/32 (pow x 4)) (+ (* 1/4 (/ 1 (pow x 2))) (* 5/96 (/ 1 (pow x 6))))))) (taylor -inf x) (#s(alt (log.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))))) (patch (log.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))))) #<representation binary64>) () ())) ())
#s(alt (/ 1/2 x) (taylor -inf x) (#s(alt (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))) (patch (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))) #<representation binary64>) () ())) ())
#s(alt (/ (+ 1/2 (* 1/8 (/ 1 (pow x 2)))) x) (taylor -inf x) (#s(alt (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))) (patch (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* -1 (/ (- (* -1 (/ (+ 1/8 (* 1/16 (/ 1 (pow x 2)))) (pow x 2))) 1/2) x)) (taylor -inf x) (#s(alt (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))) (patch (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* -1 (/ (- (* -1 (/ (+ 1/16 (* 5/128 (/ 1 (pow x 2)))) (pow x 4))) (+ 1/2 (* 1/8 (/ 1 (pow x 2))))) x)) (taylor -inf x) (#s(alt (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))) (patch (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor -inf x) (#s(alt (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))) (patch (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- 1 (* 1/2 (/ 1 (pow x 2)))))) (taylor -inf x) (#s(alt (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))) (patch (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ 1 (* -1 (/ (+ 1/2 (* 1/8 (/ 1 (pow x 2)))) (pow x 2)))))) (taylor -inf x) (#s(alt (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))) (patch (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- (+ 1 (* -1 (/ (+ 1/8 (* 1/16 (/ 1 (pow x 2)))) (pow x 4)))) (* 1/2 (/ 1 (pow x 2)))))) (taylor -inf x) (#s(alt (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))) (patch (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))) #<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
2.0ms
x
@0
((- (* x x) 1) (log (+ x (sqrt (- (* x x) 1)))) (+ x (sqrt (- (* x x) 1))) (sqrt (- (* x x) 1)) (* x x))
1.0ms
x
@-inf
((- (* x x) 1) (log (+ x (sqrt (- (* x x) 1)))) (+ x (sqrt (- (* x x) 1))) (sqrt (- (* x x) 1)) (* x x))
1.0ms
x
@inf
((- (* x x) 1) (log (+ x (sqrt (- (* x x) 1)))) (+ x (sqrt (- (* x x) 1))) (sqrt (- (* x x) 1)) (* x x))

simplify147.0ms (2.5%)

Memory
-20.8MiB live, 138.5MiB allocated
Algorithm
egg-herbie
Rules
10 204×lower-fma.f64
10 204×lower-fma.f32
3 650×lower-*.f64
3 650×lower-*.f32
2 854×lower-+.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0150595
1411569
21146562
33331524
47979524
08531495
Stop Event
iter limit
node limit
Counts
60 → 59
Calls
Call 1
Inputs
-1
(- (pow x 2) 1)
(- (pow x 2) 1)
(- (pow x 2) 1)
(log (sqrt -1))
(+ (log (sqrt -1)) (/ x (sqrt -1)))
(+ (log (sqrt -1)) (* x (+ (* -1/6 (/ (pow x 2) (pow (sqrt -1) 3))) (/ 1 (sqrt -1)))))
(+ (log (sqrt -1)) (* x (+ (* (pow x 2) (- (* 3/40 (/ (pow x 2) (pow (sqrt -1) 5))) (* 1/6 (/ 1 (pow (sqrt -1) 3))))) (/ 1 (sqrt -1)))))
(sqrt -1)
(+ x (sqrt -1))
(+ (sqrt -1) (* x (+ 1 (* 1/2 (/ x (sqrt -1))))))
(+ (sqrt -1) (* x (+ 1 (* x (+ (* -1/8 (/ (pow x 2) (pow (sqrt -1) 3))) (* 1/2 (/ 1 (sqrt -1))))))))
(sqrt -1)
(+ (sqrt -1) (* 1/2 (/ (pow x 2) (sqrt -1))))
(+ (sqrt -1) (* (pow x 2) (+ (* -1/8 (/ (pow x 2) (pow (sqrt -1) 3))) (* 1/2 (/ 1 (sqrt -1))))))
(+ (sqrt -1) (* (pow x 2) (+ (* (pow x 2) (- (* 1/16 (/ (pow x 2) (pow (sqrt -1) 5))) (* 1/8 (/ 1 (pow (sqrt -1) 3))))) (* 1/2 (/ 1 (sqrt -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))))
(+ (log 2) (* -1 (log (/ 1 x))))
(- (+ (log 2) (* -1 (log (/ 1 x)))) (* 1/4 (/ 1 (pow x 2))))
(+ (log 2) (+ (* -1 (log (/ 1 x))) (* -1 (/ (+ 1/4 (* 3/32 (/ 1 (pow x 2)))) (pow x 2)))))
(- (+ (log 2) (+ (* -1 (log (/ 1 x))) (* -1 (/ (+ 3/32 (* 5/96 (/ 1 (pow x 2)))) (pow x 4))))) (* 1/4 (/ 1 (pow x 2))))
(* 2 x)
(* x (- 2 (* 1/2 (/ 1 (pow x 2)))))
(* x (+ 2 (* -1 (/ (+ 1/2 (* 1/8 (/ 1 (pow x 2)))) (pow x 2)))))
(* x (- (+ 2 (* -1 (/ (+ 1/8 (* 1/16 (/ 1 (pow x 2)))) (pow x 4)))) (* 1/2 (/ 1 (pow x 2)))))
x
(* x (- 1 (* 1/2 (/ 1 (pow x 2)))))
(* x (+ 1 (* -1 (/ (+ 1/2 (* 1/8 (/ 1 (pow x 2)))) (pow x 2)))))
(* x (- (+ 1 (* -1 (/ (+ 1/8 (* 1/16 (/ 1 (pow x 2)))) (pow x 4)))) (* 1/2 (/ 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))))
(+ (log -1/2) (log (/ -1 x)))
(+ (log -1/2) (+ (log (/ -1 x)) (* 1/4 (/ 1 (pow x 2)))))
(+ (log -1/2) (+ (log (/ -1 x)) (+ (/ 3/32 (pow x 4)) (* 1/4 (/ 1 (pow x 2))))))
(+ (log -1/2) (+ (log (/ -1 x)) (+ (/ 3/32 (pow x 4)) (+ (* 1/4 (/ 1 (pow x 2))) (* 5/96 (/ 1 (pow x 6)))))))
(/ 1/2 x)
(/ (+ 1/2 (* 1/8 (/ 1 (pow x 2)))) x)
(* -1 (/ (- (* -1 (/ (+ 1/8 (* 1/16 (/ 1 (pow x 2)))) (pow x 2))) 1/2) x))
(* -1 (/ (- (* -1 (/ (+ 1/16 (* 5/128 (/ 1 (pow x 2)))) (pow x 4))) (+ 1/2 (* 1/8 (/ 1 (pow x 2))))) x))
(* -1 x)
(* -1 (* x (- 1 (* 1/2 (/ 1 (pow x 2))))))
(* -1 (* x (+ 1 (* -1 (/ (+ 1/2 (* 1/8 (/ 1 (pow x 2)))) (pow x 2))))))
(* -1 (* x (- (+ 1 (* -1 (/ (+ 1/8 (* 1/16 (/ 1 (pow x 2)))) (pow x 4)))) (* 1/2 (/ 1 (pow x 2))))))
(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))
(log (sqrt -1))
(log.f64 (sqrt.f64 #s(literal -1 binary64)))
(+ (log (sqrt -1)) (/ x (sqrt -1)))
(+.f64 (/.f64 x (sqrt.f64 #s(literal -1 binary64))) (log.f64 (sqrt.f64 #s(literal -1 binary64))))
(+ (log (sqrt -1)) (* x (+ (* -1/6 (/ (pow x 2) (pow (sqrt -1) 3))) (/ 1 (sqrt -1)))))
(fma.f64 (fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal 1 binary64)) (/.f64 x (sqrt.f64 #s(literal -1 binary64))) (log.f64 (sqrt.f64 #s(literal -1 binary64))))
(+ (log (sqrt -1)) (* x (+ (* (pow x 2) (- (* 3/40 (/ (pow x 2) (pow (sqrt -1) 5))) (* 1/6 (/ 1 (pow (sqrt -1) 3))))) (/ 1 (sqrt -1)))))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (*.f64 #s(literal 3/40 binary64) x) (/.f64 x (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 5 binary64))) (/.f64 #s(literal 1/6 binary64) (sqrt.f64 #s(literal -1 binary64)))) (+.f64 (/.f64 x (sqrt.f64 #s(literal -1 binary64))) (log.f64 (sqrt.f64 #s(literal -1 binary64)))))
(sqrt -1)
(sqrt.f64 #s(literal -1 binary64))
(+ x (sqrt -1))
(+.f64 (sqrt.f64 #s(literal -1 binary64)) x)
(+ (sqrt -1) (* x (+ 1 (* 1/2 (/ x (sqrt -1))))))
(fma.f64 (fma.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal -1 binary64))) x #s(literal 1 binary64)) x (sqrt.f64 #s(literal -1 binary64)))
(+ (sqrt -1) (* x (+ 1 (* x (+ (* -1/8 (/ (pow x 2) (pow (sqrt -1) 3))) (* 1/2 (/ 1 (sqrt -1))))))))
(fma.f64 (fma.f64 (/.f64 x (sqrt.f64 #s(literal -1 binary64))) (fma.f64 (*.f64 x x) #s(literal 1/8 binary64) #s(literal 1/2 binary64)) #s(literal 1 binary64)) x (sqrt.f64 #s(literal -1 binary64)))
(sqrt -1)
(sqrt.f64 #s(literal -1 binary64))
(+ (sqrt -1) (* 1/2 (/ (pow x 2) (sqrt -1))))
(fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal -1 binary64))) x) x (sqrt.f64 #s(literal -1 binary64)))
(+ (sqrt -1) (* (pow x 2) (+ (* -1/8 (/ (pow x 2) (pow (sqrt -1) 3))) (* 1/2 (/ 1 (sqrt -1))))))
(fma.f64 (*.f64 (/.f64 x (sqrt.f64 #s(literal -1 binary64))) x) (fma.f64 (*.f64 x x) #s(literal 1/8 binary64) #s(literal 1/2 binary64)) (sqrt.f64 #s(literal -1 binary64)))
(+ (sqrt -1) (* (pow x 2) (+ (* (pow x 2) (- (* 1/16 (/ (pow x 2) (pow (sqrt -1) 5))) (* 1/8 (/ 1 (pow (sqrt -1) 3))))) (* 1/2 (/ 1 (sqrt -1))))))
(fma.f64 (fma.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 x #s(literal 4 binary64)) (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 5 binary64))) (*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal -1 binary64))) (fma.f64 #s(literal 1/8 binary64) (*.f64 x x) #s(literal 1/2 binary64)))) (*.f64 x x) (sqrt.f64 #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))
(+ (log 2) (* -1 (log (/ 1 x))))
(+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64)))
(- (+ (log 2) (* -1 (log (/ 1 x)))) (* 1/4 (/ 1 (pow x 2))))
(-.f64 (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64))) (/.f64 #s(literal 1/4 binary64) (*.f64 x x)))
(+ (log 2) (+ (* -1 (log (/ 1 x))) (* -1 (/ (+ 1/4 (* 3/32 (/ 1 (pow x 2)))) (pow x 2)))))
(-.f64 (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64))) (/.f64 (/.f64 (+.f64 (/.f64 #s(literal 3/32 binary64) (*.f64 x x)) #s(literal 1/4 binary64)) x) x))
(- (+ (log 2) (+ (* -1 (log (/ 1 x))) (* -1 (/ (+ 3/32 (* 5/96 (/ 1 (pow x 2)))) (pow x 4))))) (* 1/4 (/ 1 (pow x 2))))
(-.f64 (-.f64 (log.f64 #s(literal 2 binary64)) (/.f64 #s(literal 1/4 binary64) (*.f64 x x))) (-.f64 (/.f64 (+.f64 (/.f64 #s(literal 5/96 binary64) (*.f64 x x)) #s(literal 3/32 binary64)) (pow.f64 x #s(literal 4 binary64))) (log.f64 x)))
(* 2 x)
(*.f64 #s(literal 2 binary64) x)
(* x (- 2 (* 1/2 (/ 1 (pow x 2)))))
(fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x))
(* x (+ 2 (* -1 (/ (+ 1/2 (* 1/8 (/ 1 (pow x 2)))) (pow x 2)))))
(fma.f64 #s(literal 2 binary64) x (/.f64 (-.f64 #s(literal -1/2 binary64) (/.f64 #s(literal 1/8 binary64) (*.f64 x x))) x))
(* x (- (+ 2 (* -1 (/ (+ 1/8 (* 1/16 (/ 1 (pow x 2)))) (pow x 4)))) (* 1/2 (/ 1 (pow x 2)))))
(fma.f64 (-.f64 #s(literal 2 binary64) (/.f64 (+.f64 (/.f64 #s(literal 1/16 binary64) (*.f64 x x)) #s(literal 1/8 binary64)) (pow.f64 x #s(literal 4 binary64)))) x (/.f64 #s(literal -1/2 binary64) x))
x
(* x (- 1 (* 1/2 (/ 1 (pow x 2)))))
(-.f64 x (/.f64 #s(literal 1/2 binary64) x))
(* x (+ 1 (* -1 (/ (+ 1/2 (* 1/8 (/ 1 (pow x 2)))) (pow x 2)))))
(-.f64 x (/.f64 (+.f64 (/.f64 #s(literal 1/8 binary64) (*.f64 x x)) #s(literal 1/2 binary64)) x))
(* x (- (+ 1 (* -1 (/ (+ 1/8 (* 1/16 (/ 1 (pow x 2)))) (pow x 4)))) (* 1/2 (/ 1 (pow x 2)))))
(fma.f64 (/.f64 (-.f64 #s(literal -1/8 binary64) (/.f64 #s(literal 1/16 binary64) (*.f64 x x))) (pow.f64 x #s(literal 4 binary64))) x (-.f64 x (/.f64 #s(literal 1/2 binary64) 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)
(*.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))
(+ (log -1/2) (log (/ -1 x)))
(+.f64 (log.f64 (/.f64 #s(literal -1 binary64) x)) (log.f64 #s(literal -1/2 binary64)))
(+ (log -1/2) (+ (log (/ -1 x)) (* 1/4 (/ 1 (pow x 2)))))
(+.f64 (+.f64 (log.f64 (/.f64 #s(literal -1 binary64) x)) (/.f64 #s(literal 1/4 binary64) (*.f64 x x))) (log.f64 #s(literal -1/2 binary64)))
(+ (log -1/2) (+ (log (/ -1 x)) (+ (/ 3/32 (pow x 4)) (* 1/4 (/ 1 (pow x 2))))))
(+.f64 (+.f64 (+.f64 (/.f64 #s(literal 3/32 binary64) (pow.f64 x #s(literal 4 binary64))) (/.f64 #s(literal 1/4 binary64) (*.f64 x x))) (log.f64 (/.f64 #s(literal -1 binary64) x))) (log.f64 #s(literal -1/2 binary64)))
(+ (log -1/2) (+ (log (/ -1 x)) (+ (/ 3/32 (pow x 4)) (+ (* 1/4 (/ 1 (pow x 2))) (* 5/96 (/ 1 (pow x 6)))))))
(+.f64 (+.f64 (+.f64 (+.f64 (/.f64 #s(literal 5/96 binary64) (pow.f64 x #s(literal 6 binary64))) (/.f64 #s(literal 1/4 binary64) (*.f64 x x))) (/.f64 #s(literal 3/32 binary64) (pow.f64 x #s(literal 4 binary64)))) (log.f64 (/.f64 #s(literal -1 binary64) x))) (log.f64 #s(literal -1/2 binary64)))
(/ 1/2 x)
(/.f64 #s(literal 1/2 binary64) x)
(/ (+ 1/2 (* 1/8 (/ 1 (pow x 2)))) x)
(/.f64 (+.f64 (/.f64 #s(literal 1/8 binary64) (*.f64 x x)) #s(literal 1/2 binary64)) x)
(* -1 (/ (- (* -1 (/ (+ 1/8 (* 1/16 (/ 1 (pow x 2)))) (pow x 2))) 1/2) x))
(-.f64 (/.f64 #s(literal 1/2 binary64) x) (/.f64 (-.f64 #s(literal -1/8 binary64) (/.f64 #s(literal 1/16 binary64) (*.f64 x x))) (pow.f64 x #s(literal 3 binary64))))
(* -1 (/ (- (* -1 (/ (+ 1/16 (* 5/128 (/ 1 (pow x 2)))) (pow x 4))) (+ 1/2 (* 1/8 (/ 1 (pow x 2))))) x))
(-.f64 (-.f64 (/.f64 (+.f64 (/.f64 #s(literal 5/128 binary64) (*.f64 x x)) #s(literal 1/16 binary64)) (pow.f64 x #s(literal 5 binary64))) (/.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 3 binary64)))) (/.f64 #s(literal -1/2 binary64) x))
(* -1 x)
(neg.f64 x)
(* -1 (* x (- 1 (* 1/2 (/ 1 (pow x 2))))))
(-.f64 (/.f64 #s(literal 1/2 binary64) x) x)
(* -1 (* x (+ 1 (* -1 (/ (+ 1/2 (* 1/8 (/ 1 (pow x 2)))) (pow x 2))))))
(-.f64 (/.f64 (+.f64 (/.f64 #s(literal 1/8 binary64) (*.f64 x x)) #s(literal 1/2 binary64)) x) x)
(* -1 (* x (- (+ 1 (* -1 (/ (+ 1/8 (* 1/16 (/ 1 (pow x 2)))) (pow x 4)))) (* 1/2 (/ 1 (pow x 2))))))
(fma.f64 (/.f64 (+.f64 (/.f64 #s(literal 1/16 binary64) (*.f64 x x)) #s(literal 1/8 binary64)) (pow.f64 x #s(literal 4 binary64))) x (-.f64 (/.f64 #s(literal 1/2 binary64) 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)

rewrite168.0ms (2.8%)

Memory
29.2MiB live, 180.4MiB allocated
Rules
4 994×lower-fma.f64
4 994×lower-fma.f32
3 230×lower-*.f32
3 228×lower-*.f64
2 612×lower-/.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0731
01231
14931
232231
3362631
0864627
Stop Event
iter limit
node limit
iter limit
Counts
5 → 328
Calls
Call 1
Inputs
(-.f64 (*.f64 x x) #s(literal 1 binary64))
(log.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))))
(+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))))
(sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))
(*.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>

eval90.0ms (1.5%)

Memory
-7.8MiB live, 114.1MiB allocated
Compiler

Compiled 8 221 to 1 612 computations (80.4% saved)

prune9.0ms (0.2%)

Memory
-13.5MiB live, 25.1MiB allocated
Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New3834387
Fresh000
Picked101
Done000
Total3844388
Accuracy
100.0%
Counts
388 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
53.8%
(log.f64 (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x))
99.1%
(log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x))))
98.6%
(log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x)))
98.8%
#s(approx (log (+ x (sqrt (- (* x x) 1)))) (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64))))
Compiler

Compiled 27 to 24 computations (11.1% saved)

simplify300.0ms (5.1%)

Memory
18.6MiB live, 297.8MiB allocated
Algorithm
egg-herbie
Localize:

Found 15 expressions of interest:

NewMetricScoreProgram
cost-diff0
(fma.f64 x x #s(literal -1 binary64))
cost-diff0
(sqrt.f64 (fma.f64 x x #s(literal -1 binary64)))
cost-diff0
(+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x)
cost-diff0
(log.f64 (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x))
cost-diff0
(/.f64 #s(literal -1/2 binary64) x)
cost-diff0
(fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x))
cost-diff0
#s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x)))
cost-diff0
(log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x))))
cost-diff0
(*.f64 #s(literal 2 binary64) x)
cost-diff0
#s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x))
cost-diff0
(log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x)))
cost-diff0
(log.f64 #s(literal 2 binary64))
cost-diff0
(log.f64 x)
cost-diff0
(+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64)))
cost-diff0
#s(approx (log (+ x (sqrt (- (* x x) 1)))) (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64))))
Rules
27 886×lower-fma.f32
27 882×lower-fma.f64
4 022×lower-*.f32
4 020×lower-*.f64
2 934×lower-+.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
025125
037120
150120
253120
368120
497120
5158120
6324120
7604120
82079120
93228120
104544120
115227120
125546120
135742120
145845120
156164120
166710120
177821120
08057120
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
#s(approx (log (+ x (sqrt (- (* x x) 1)))) (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64))))
(+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64)))
(log.f64 x)
x
(log.f64 #s(literal 2 binary64))
#s(literal 2 binary64)
(log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x)))
#s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x))
(*.f64 #s(literal 2 binary64) x)
#s(literal 2 binary64)
x
(log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x))))
#s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x)))
(fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x))
#s(literal 2 binary64)
x
(/.f64 #s(literal -1/2 binary64) x)
#s(literal -1/2 binary64)
(log.f64 (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x))
(+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x)
(sqrt.f64 (fma.f64 x x #s(literal -1 binary64)))
(fma.f64 x x #s(literal -1 binary64))
x
#s(literal -1 binary64)
Outputs
#s(approx (log (+ x (sqrt (- (* x x) 1)))) (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64))))
#s(approx (log (+ x (sqrt (- (* x x) 1)))) (+.f64 (log.f64 #s(literal 2 binary64)) (log.f64 x)))
(+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64)))
(+.f64 (log.f64 #s(literal 2 binary64)) (log.f64 x))
(log.f64 x)
x
(log.f64 #s(literal 2 binary64))
#s(literal 2 binary64)
(log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x)))
#s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x))
(*.f64 #s(literal 2 binary64) x)
#s(literal 2 binary64)
x
(log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x))))
#s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x)))
(fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x))
#s(literal 2 binary64)
x
(/.f64 #s(literal -1/2 binary64) x)
#s(literal -1/2 binary64)
(log.f64 (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x))
(+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x)
(sqrt.f64 (fma.f64 x x #s(literal -1 binary64)))
(fma.f64 x x #s(literal -1 binary64))
x
#s(literal -1 binary64)

localize64.0ms (1.1%)

Memory
-9.1MiB live, 106.3MiB allocated
Localize:

Found 15 expressions of interest:

NewMetricScoreProgram
accuracy0
(fma.f64 x x #s(literal -1 binary64))
accuracy0.01171875
(+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x)
accuracy0.24213559732759196
(log.f64 (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x))
accuracy28.44084949445194
(sqrt.f64 (fma.f64 x x #s(literal -1 binary64)))
accuracy0
(fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x))
accuracy0
(/.f64 #s(literal -1/2 binary64) x)
accuracy0.24213559732759196
(log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x))))
accuracy0.3600591523008113
#s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x)))
accuracy0
(*.f64 #s(literal 2 binary64) x)
accuracy0.24213559732759196
(log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x)))
accuracy0.7107142713551079
#s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x))
accuracy0
(log.f64 x)
accuracy0
(log.f64 #s(literal 2 binary64))
accuracy0.15234375
(+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64)))
accuracy0.6441075680351724
#s(approx (log (+ x (sqrt (- (* x x) 1)))) (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64))))
Samples
41.0ms256×0valid
Compiler

Compiled 104 to 22 computations (78.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 28.0ms
ival-log: 11.0ms (39.3% of total)
ival-add: 6.0ms (21.4% of total)
ival-sqrt: 4.0ms (14.3% of total)
ival-mult: 3.0ms (10.7% of total)
ival-div: 2.0ms (7.1% of total)
ival-sub: 1.0ms (3.6% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series95.0ms (1.6%)

Memory
16.9MiB live, 179.6MiB allocated
Counts
15 → 168
Calls
Call 1
Inputs
#s(alt #s(approx (log (+ x (sqrt (- (* x x) 1)))) (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64)))) (patch #s(approx (log (+ x (sqrt (- (* x x) 1)))) (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64)))) #<representation binary64>) () ())
#s(alt (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64))) (patch (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64))) #<representation binary64>) () ())
#s(alt (log.f64 x) (patch (log.f64 x) #<representation binary64>) () ())
#s(alt (log.f64 #s(literal 2 binary64)) (patch (log.f64 #s(literal 2 binary64)) #<representation binary64>) () ())
#s(alt (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x))) (patch (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x))) #<representation binary64>) () ())
#s(alt #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x)) (patch #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x)) #<representation binary64>) () ())
#s(alt (*.f64 #s(literal 2 binary64) x) (patch (*.f64 #s(literal 2 binary64) x) #<representation binary64>) () ())
#s(alt (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x)))) (patch (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x)))) #<representation binary64>) () ())
#s(alt #s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x))) (patch #s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x))) #<representation binary64>) () ())
#s(alt (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x)) (patch (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x)) #<representation binary64>) () ())
#s(alt (/.f64 #s(literal -1/2 binary64) x) (patch (/.f64 #s(literal -1/2 binary64) x) #<representation binary64>) () ())
#s(alt (log.f64 (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x)) (patch (log.f64 (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x)) #<representation binary64>) () ())
#s(alt (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x) (patch (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x) #<representation binary64>) () ())
#s(alt (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) (patch (sqrt.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>) () ())
Outputs
#s(alt (log (sqrt -1)) (taylor 0 x) (#s(alt #s(approx (log (+ x (sqrt (- (* x x) 1)))) (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64)))) (patch #s(approx (log (+ x (sqrt (- (* x x) 1)))) (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (+ (log (sqrt -1)) (/ x (sqrt -1))) (taylor 0 x) (#s(alt #s(approx (log (+ x (sqrt (- (* x x) 1)))) (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64)))) (patch #s(approx (log (+ x (sqrt (- (* x x) 1)))) (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (+ (log (sqrt -1)) (* x (+ (* -1/6 (/ (pow x 2) (pow (sqrt -1) 3))) (/ 1 (sqrt -1))))) (taylor 0 x) (#s(alt #s(approx (log (+ x (sqrt (- (* x x) 1)))) (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64)))) (patch #s(approx (log (+ x (sqrt (- (* x x) 1)))) (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (+ (log (sqrt -1)) (* x (+ (* (pow x 2) (- (* 3/40 (/ (pow x 2) (pow (sqrt -1) 5))) (* 1/6 (/ 1 (pow (sqrt -1) 3))))) (/ 1 (sqrt -1))))) (taylor 0 x) (#s(alt #s(approx (log (+ x (sqrt (- (* x x) 1)))) (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64)))) (patch #s(approx (log (+ x (sqrt (- (* x x) 1)))) (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (+ (log 2) (log x)) (taylor 0 x) (#s(alt (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64))) (patch (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (log 2) (log x)) (taylor 0 x) (#s(alt (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64))) (patch (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (log 2) (log x)) (taylor 0 x) (#s(alt (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64))) (patch (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (log 2) (log x)) (taylor 0 x) (#s(alt (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64))) (patch (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (log x) (taylor 0 x) (#s(alt (log.f64 x) (patch (log.f64 x) #<representation binary64>) () ())) ())
#s(alt (log x) (taylor 0 x) (#s(alt (log.f64 x) (patch (log.f64 x) #<representation binary64>) () ())) ())
#s(alt (log x) (taylor 0 x) (#s(alt (log.f64 x) (patch (log.f64 x) #<representation binary64>) () ())) ())
#s(alt (log x) (taylor 0 x) (#s(alt (log.f64 x) (patch (log.f64 x) #<representation binary64>) () ())) ())
#s(alt (log (sqrt -1)) (taylor 0 x) (#s(alt (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x))) (patch (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x))) #<representation binary64>) () ())) ())
#s(alt (+ (log (sqrt -1)) (/ x (sqrt -1))) (taylor 0 x) (#s(alt (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x))) (patch (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x))) #<representation binary64>) () ())) ())
#s(alt (+ (log (sqrt -1)) (* x (+ (* -1/6 (/ (pow x 2) (pow (sqrt -1) 3))) (/ 1 (sqrt -1))))) (taylor 0 x) (#s(alt (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x))) (patch (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x))) #<representation binary64>) () ())) ())
#s(alt (+ (log (sqrt -1)) (* x (+ (* (pow x 2) (- (* 3/40 (/ (pow x 2) (pow (sqrt -1) 5))) (* 1/6 (/ 1 (pow (sqrt -1) 3))))) (/ 1 (sqrt -1))))) (taylor 0 x) (#s(alt (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x))) (patch (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x))) #<representation binary64>) () ())) ())
#s(alt (sqrt -1) (taylor 0 x) (#s(alt #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x)) (patch #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (+ x (sqrt -1)) (taylor 0 x) (#s(alt #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x)) (patch #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (+ (sqrt -1) (* x (+ 1 (* 1/2 (/ x (sqrt -1)))))) (taylor 0 x) (#s(alt #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x)) (patch #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (+ (sqrt -1) (* x (+ 1 (* x (+ (* -1/8 (/ (pow x 2) (pow (sqrt -1) 3))) (* 1/2 (/ 1 (sqrt -1)))))))) (taylor 0 x) (#s(alt #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x)) (patch #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (* 2 x) (taylor 0 x) (#s(alt (*.f64 #s(literal 2 binary64) x) (patch (*.f64 #s(literal 2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* 2 x) (taylor 0 x) (#s(alt (*.f64 #s(literal 2 binary64) x) (patch (*.f64 #s(literal 2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* 2 x) (taylor 0 x) (#s(alt (*.f64 #s(literal 2 binary64) x) (patch (*.f64 #s(literal 2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* 2 x) (taylor 0 x) (#s(alt (*.f64 #s(literal 2 binary64) x) (patch (*.f64 #s(literal 2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (log (sqrt -1)) (taylor 0 x) (#s(alt (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x)))) (patch (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x)))) #<representation binary64>) () ())) ())
#s(alt (+ (log (sqrt -1)) (/ x (sqrt -1))) (taylor 0 x) (#s(alt (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x)))) (patch (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x)))) #<representation binary64>) () ())) ())
#s(alt (+ (log (sqrt -1)) (* x (+ (* -1/6 (/ (pow x 2) (pow (sqrt -1) 3))) (/ 1 (sqrt -1))))) (taylor 0 x) (#s(alt (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x)))) (patch (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x)))) #<representation binary64>) () ())) ())
#s(alt (+ (log (sqrt -1)) (* x (+ (* (pow x 2) (- (* 3/40 (/ (pow x 2) (pow (sqrt -1) 5))) (* 1/6 (/ 1 (pow (sqrt -1) 3))))) (/ 1 (sqrt -1))))) (taylor 0 x) (#s(alt (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x)))) (patch (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x)))) #<representation binary64>) () ())) ())
#s(alt (sqrt -1) (taylor 0 x) (#s(alt #s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x))) (patch #s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x))) #<representation binary64>) () ())) ())
#s(alt (+ x (sqrt -1)) (taylor 0 x) (#s(alt #s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x))) (patch #s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x))) #<representation binary64>) () ())) ())
#s(alt (+ (sqrt -1) (* x (+ 1 (* 1/2 (/ x (sqrt -1)))))) (taylor 0 x) (#s(alt #s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x))) (patch #s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x))) #<representation binary64>) () ())) ())
#s(alt (+ (sqrt -1) (* x (+ 1 (* x (+ (* -1/8 (/ (pow x 2) (pow (sqrt -1) 3))) (* 1/2 (/ 1 (sqrt -1)))))))) (taylor 0 x) (#s(alt #s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x))) (patch #s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x))) #<representation binary64>) () ())) ())
#s(alt (/ -1/2 x) (taylor 0 x) (#s(alt (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x)) (patch (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (/ (- (* 2 (pow x 2)) 1/2) x) (taylor 0 x) (#s(alt (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x)) (patch (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (/ (- (* 2 (pow x 2)) 1/2) x) (taylor 0 x) (#s(alt (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x)) (patch (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (/ (- (* 2 (pow x 2)) 1/2) x) (taylor 0 x) (#s(alt (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x)) (patch (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (/ -1/2 x) (taylor 0 x) (#s(alt (/.f64 #s(literal -1/2 binary64) x) (patch (/.f64 #s(literal -1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ -1/2 x) (taylor 0 x) (#s(alt (/.f64 #s(literal -1/2 binary64) x) (patch (/.f64 #s(literal -1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ -1/2 x) (taylor 0 x) (#s(alt (/.f64 #s(literal -1/2 binary64) x) (patch (/.f64 #s(literal -1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ -1/2 x) (taylor 0 x) (#s(alt (/.f64 #s(literal -1/2 binary64) x) (patch (/.f64 #s(literal -1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (log (sqrt -1)) (taylor 0 x) (#s(alt (log.f64 (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x)) (patch (log.f64 (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x)) #<representation binary64>) () ())) ())
#s(alt (+ (log (sqrt -1)) (/ x (sqrt -1))) (taylor 0 x) (#s(alt (log.f64 (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x)) (patch (log.f64 (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x)) #<representation binary64>) () ())) ())
#s(alt (+ (log (sqrt -1)) (* x (+ (* -1/6 (/ (pow x 2) (pow (sqrt -1) 3))) (/ 1 (sqrt -1))))) (taylor 0 x) (#s(alt (log.f64 (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x)) (patch (log.f64 (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x)) #<representation binary64>) () ())) ())
#s(alt (+ (log (sqrt -1)) (* x (+ (* (pow x 2) (- (* 3/40 (/ (pow x 2) (pow (sqrt -1) 5))) (* 1/6 (/ 1 (pow (sqrt -1) 3))))) (/ 1 (sqrt -1))))) (taylor 0 x) (#s(alt (log.f64 (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x)) (patch (log.f64 (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x)) #<representation binary64>) () ())) ())
#s(alt (sqrt -1) (taylor 0 x) (#s(alt (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x) (patch (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x) #<representation binary64>) () ())) ())
#s(alt (+ x (sqrt -1)) (taylor 0 x) (#s(alt (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x) (patch (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x) #<representation binary64>) () ())) ())
#s(alt (+ (sqrt -1) (* x (+ 1 (* 1/2 (/ x (sqrt -1)))))) (taylor 0 x) (#s(alt (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x) (patch (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x) #<representation binary64>) () ())) ())
#s(alt (+ (sqrt -1) (* x (+ 1 (* x (+ (* -1/8 (/ (pow x 2) (pow (sqrt -1) 3))) (* 1/2 (/ 1 (sqrt -1)))))))) (taylor 0 x) (#s(alt (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x) (patch (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x) #<representation binary64>) () ())) ())
#s(alt (sqrt -1) (taylor 0 x) (#s(alt (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) (patch (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (sqrt -1) (* 1/2 (/ (pow x 2) (sqrt -1)))) (taylor 0 x) (#s(alt (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) (patch (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (sqrt -1) (* (pow x 2) (+ (* -1/8 (/ (pow x 2) (pow (sqrt -1) 3))) (* 1/2 (/ 1 (sqrt -1)))))) (taylor 0 x) (#s(alt (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) (patch (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (sqrt -1) (* (pow x 2) (+ (* (pow x 2) (- (* 1/16 (/ (pow x 2) (pow (sqrt -1) 5))) (* 1/8 (/ 1 (pow (sqrt -1) 3))))) (* 1/2 (/ 1 (sqrt -1)))))) (taylor 0 x) (#s(alt (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) (patch (sqrt.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 (+ (log 2) (* -1 (log (/ 1 x)))) (taylor inf x) (#s(alt #s(approx (log (+ x (sqrt (- (* x x) 1)))) (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64)))) (patch #s(approx (log (+ x (sqrt (- (* x x) 1)))) (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (- (+ (log 2) (* -1 (log (/ 1 x)))) (* 1/4 (/ 1 (pow x 2)))) (taylor inf x) (#s(alt #s(approx (log (+ x (sqrt (- (* x x) 1)))) (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64)))) (patch #s(approx (log (+ x (sqrt (- (* x x) 1)))) (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (+ (log 2) (+ (* -1 (log (/ 1 x))) (* -1 (/ (+ 1/4 (* 3/32 (/ 1 (pow x 2)))) (pow x 2))))) (taylor inf x) (#s(alt #s(approx (log (+ x (sqrt (- (* x x) 1)))) (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64)))) (patch #s(approx (log (+ x (sqrt (- (* x x) 1)))) (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (- (+ (log 2) (+ (* -1 (log (/ 1 x))) (* -1 (/ (+ 3/32 (* 5/96 (/ 1 (pow x 2)))) (pow x 4))))) (* 1/4 (/ 1 (pow x 2)))) (taylor inf x) (#s(alt #s(approx (log (+ x (sqrt (- (* x x) 1)))) (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64)))) (patch #s(approx (log (+ x (sqrt (- (* x x) 1)))) (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (+ (log 2) (* -1 (log (/ 1 x)))) (taylor inf x) (#s(alt (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64))) (patch (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (log 2) (* -1 (log (/ 1 x)))) (taylor inf x) (#s(alt (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64))) (patch (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (log 2) (* -1 (log (/ 1 x)))) (taylor inf x) (#s(alt (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64))) (patch (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (log 2) (* -1 (log (/ 1 x)))) (taylor inf x) (#s(alt (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64))) (patch (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (log (/ 1 x))) (taylor inf x) (#s(alt (log.f64 x) (patch (log.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 (log (/ 1 x))) (taylor inf x) (#s(alt (log.f64 x) (patch (log.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 (log (/ 1 x))) (taylor inf x) (#s(alt (log.f64 x) (patch (log.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 (log (/ 1 x))) (taylor inf x) (#s(alt (log.f64 x) (patch (log.f64 x) #<representation binary64>) () ())) ())
#s(alt (+ (log 2) (* -1 (log (/ 1 x)))) (taylor inf x) (#s(alt (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x))) (patch (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x))) #<representation binary64>) () ())) ())
#s(alt (- (+ (log 2) (* -1 (log (/ 1 x)))) (* 1/4 (/ 1 (pow x 2)))) (taylor inf x) (#s(alt (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x))) (patch (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x))) #<representation binary64>) () ())) ())
#s(alt (+ (log 2) (+ (* -1 (log (/ 1 x))) (* -1 (/ (+ 1/4 (* 3/32 (/ 1 (pow x 2)))) (pow x 2))))) (taylor inf x) (#s(alt (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x))) (patch (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x))) #<representation binary64>) () ())) ())
#s(alt (- (+ (log 2) (+ (* -1 (log (/ 1 x))) (* -1 (/ (+ 3/32 (* 5/96 (/ 1 (pow x 2)))) (pow x 4))))) (* 1/4 (/ 1 (pow x 2)))) (taylor inf x) (#s(alt (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x))) (patch (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x))) #<representation binary64>) () ())) ())
#s(alt (* 2 x) (taylor inf x) (#s(alt #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x)) (patch #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (* x (- 2 (* 1/2 (/ 1 (pow x 2))))) (taylor inf x) (#s(alt #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x)) (patch #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 2 (* -1 (/ (+ 1/2 (* 1/8 (/ 1 (pow x 2)))) (pow x 2))))) (taylor inf x) (#s(alt #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x)) (patch #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (* x (- (+ 2 (* -1 (/ (+ 1/8 (* 1/16 (/ 1 (pow x 2)))) (pow x 4)))) (* 1/2 (/ 1 (pow x 2))))) (taylor inf x) (#s(alt #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x)) (patch #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (* 2 x) (taylor inf x) (#s(alt (*.f64 #s(literal 2 binary64) x) (patch (*.f64 #s(literal 2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* 2 x) (taylor inf x) (#s(alt (*.f64 #s(literal 2 binary64) x) (patch (*.f64 #s(literal 2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* 2 x) (taylor inf x) (#s(alt (*.f64 #s(literal 2 binary64) x) (patch (*.f64 #s(literal 2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* 2 x) (taylor inf x) (#s(alt (*.f64 #s(literal 2 binary64) x) (patch (*.f64 #s(literal 2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (+ (log 2) (* -1 (log (/ 1 x)))) (taylor inf x) (#s(alt (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x)))) (patch (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x)))) #<representation binary64>) () ())) ())
#s(alt (- (+ (log 2) (* -1 (log (/ 1 x)))) (* 1/4 (/ 1 (pow x 2)))) (taylor inf x) (#s(alt (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x)))) (patch (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x)))) #<representation binary64>) () ())) ())
#s(alt (+ (log 2) (+ (* -1 (log (/ 1 x))) (* -1 (/ (+ 1/4 (* 3/32 (/ 1 (pow x 2)))) (pow x 2))))) (taylor inf x) (#s(alt (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x)))) (patch (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x)))) #<representation binary64>) () ())) ())
#s(alt (- (+ (log 2) (+ (* -1 (log (/ 1 x))) (* -1 (/ (+ 3/32 (* 5/96 (/ 1 (pow x 2)))) (pow x 4))))) (* 1/4 (/ 1 (pow x 2)))) (taylor inf x) (#s(alt (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x)))) (patch (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x)))) #<representation binary64>) () ())) ())
#s(alt (* 2 x) (taylor inf x) (#s(alt #s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x))) (patch #s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x))) #<representation binary64>) () ())) ())
#s(alt (* x (- 2 (* 1/2 (/ 1 (pow x 2))))) (taylor inf x) (#s(alt #s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x))) (patch #s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 2 (* -1 (/ (+ 1/2 (* 1/8 (/ 1 (pow x 2)))) (pow x 2))))) (taylor inf x) (#s(alt #s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x))) (patch #s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x))) #<representation binary64>) () ())) ())
#s(alt (* x (- (+ 2 (* -1 (/ (+ 1/8 (* 1/16 (/ 1 (pow x 2)))) (pow x 4)))) (* 1/2 (/ 1 (pow x 2))))) (taylor inf x) (#s(alt #s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x))) (patch #s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x))) #<representation binary64>) () ())) ())
#s(alt (* 2 x) (taylor inf x) (#s(alt (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x)) (patch (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (* x (- 2 (* 1/2 (/ 1 (pow x 2))))) (taylor inf x) (#s(alt (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x)) (patch (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (* x (- 2 (* 1/2 (/ 1 (pow x 2))))) (taylor inf x) (#s(alt (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x)) (patch (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (* x (- 2 (* 1/2 (/ 1 (pow x 2))))) (taylor inf x) (#s(alt (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x)) (patch (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (/ -1/2 x) (taylor inf x) (#s(alt (/.f64 #s(literal -1/2 binary64) x) (patch (/.f64 #s(literal -1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ -1/2 x) (taylor inf x) (#s(alt (/.f64 #s(literal -1/2 binary64) x) (patch (/.f64 #s(literal -1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ -1/2 x) (taylor inf x) (#s(alt (/.f64 #s(literal -1/2 binary64) x) (patch (/.f64 #s(literal -1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ -1/2 x) (taylor inf x) (#s(alt (/.f64 #s(literal -1/2 binary64) x) (patch (/.f64 #s(literal -1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (+ (log 2) (* -1 (log (/ 1 x)))) (taylor inf x) (#s(alt (log.f64 (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x)) (patch (log.f64 (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x)) #<representation binary64>) () ())) ())
#s(alt (- (+ (log 2) (* -1 (log (/ 1 x)))) (* 1/4 (/ 1 (pow x 2)))) (taylor inf x) (#s(alt (log.f64 (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x)) (patch (log.f64 (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x)) #<representation binary64>) () ())) ())
#s(alt (+ (log 2) (+ (* -1 (log (/ 1 x))) (* -1 (/ (+ 1/4 (* 3/32 (/ 1 (pow x 2)))) (pow x 2))))) (taylor inf x) (#s(alt (log.f64 (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x)) (patch (log.f64 (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x)) #<representation binary64>) () ())) ())
#s(alt (- (+ (log 2) (+ (* -1 (log (/ 1 x))) (* -1 (/ (+ 3/32 (* 5/96 (/ 1 (pow x 2)))) (pow x 4))))) (* 1/4 (/ 1 (pow x 2)))) (taylor inf x) (#s(alt (log.f64 (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x)) (patch (log.f64 (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x)) #<representation binary64>) () ())) ())
#s(alt (* 2 x) (taylor inf x) (#s(alt (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x) (patch (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x) #<representation binary64>) () ())) ())
#s(alt (* x (- 2 (* 1/2 (/ 1 (pow x 2))))) (taylor inf x) (#s(alt (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x) (patch (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 2 (* -1 (/ (+ 1/2 (* 1/8 (/ 1 (pow x 2)))) (pow x 2))))) (taylor inf x) (#s(alt (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x) (patch (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x) #<representation binary64>) () ())) ())
#s(alt (* x (- (+ 2 (* -1 (/ (+ 1/8 (* 1/16 (/ 1 (pow x 2)))) (pow x 4)))) (* 1/2 (/ 1 (pow x 2))))) (taylor inf x) (#s(alt (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x) (patch (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x) #<representation binary64>) () ())) ())
#s(alt x (taylor inf x) (#s(alt (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) (patch (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (- 1 (* 1/2 (/ 1 (pow x 2))))) (taylor inf x) (#s(alt (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) (patch (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* -1 (/ (+ 1/2 (* 1/8 (/ 1 (pow x 2)))) (pow x 2))))) (taylor inf x) (#s(alt (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) (patch (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (- (+ 1 (* -1 (/ (+ 1/8 (* 1/16 (/ 1 (pow x 2)))) (pow x 4)))) (* 1/2 (/ 1 (pow x 2))))) (taylor inf x) (#s(alt (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) (patch (sqrt.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 (+ (log -1/2) (log (/ -1 x))) (taylor -inf x) (#s(alt #s(approx (log (+ x (sqrt (- (* x x) 1)))) (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64)))) (patch #s(approx (log (+ x (sqrt (- (* x x) 1)))) (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (+ (log -1/2) (+ (log (/ -1 x)) (* 1/4 (/ 1 (pow x 2))))) (taylor -inf x) (#s(alt #s(approx (log (+ x (sqrt (- (* x x) 1)))) (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64)))) (patch #s(approx (log (+ x (sqrt (- (* x x) 1)))) (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (+ (log -1/2) (+ (log (/ -1 x)) (+ (/ 3/32 (pow x 4)) (* 1/4 (/ 1 (pow x 2)))))) (taylor -inf x) (#s(alt #s(approx (log (+ x (sqrt (- (* x x) 1)))) (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64)))) (patch #s(approx (log (+ x (sqrt (- (* x x) 1)))) (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (+ (log -1/2) (+ (log (/ -1 x)) (+ (/ 3/32 (pow x 4)) (+ (* 1/4 (/ 1 (pow x 2))) (* 5/96 (/ 1 (pow x 6))))))) (taylor -inf x) (#s(alt #s(approx (log (+ x (sqrt (- (* x x) 1)))) (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64)))) (patch #s(approx (log (+ x (sqrt (- (* x x) 1)))) (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (+ (log -1) (+ (log 2) (* -1 (log (/ -1 x))))) (taylor -inf x) (#s(alt (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64))) (patch (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (log -1) (+ (log 2) (* -1 (log (/ -1 x))))) (taylor -inf x) (#s(alt (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64))) (patch (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (log -1) (+ (log 2) (* -1 (log (/ -1 x))))) (taylor -inf x) (#s(alt (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64))) (patch (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (log -1) (+ (log 2) (* -1 (log (/ -1 x))))) (taylor -inf x) (#s(alt (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64))) (patch (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (log -1) (* -1 (log (/ -1 x)))) (taylor -inf x) (#s(alt (log.f64 x) (patch (log.f64 x) #<representation binary64>) () ())) ())
#s(alt (+ (log -1) (* -1 (log (/ -1 x)))) (taylor -inf x) (#s(alt (log.f64 x) (patch (log.f64 x) #<representation binary64>) () ())) ())
#s(alt (+ (log -1) (* -1 (log (/ -1 x)))) (taylor -inf x) (#s(alt (log.f64 x) (patch (log.f64 x) #<representation binary64>) () ())) ())
#s(alt (+ (log -1) (* -1 (log (/ -1 x)))) (taylor -inf x) (#s(alt (log.f64 x) (patch (log.f64 x) #<representation binary64>) () ())) ())
#s(alt (+ (log -1/2) (log (/ -1 x))) (taylor -inf x) (#s(alt (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x))) (patch (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x))) #<representation binary64>) () ())) ())
#s(alt (+ (log -1/2) (+ (log (/ -1 x)) (* 1/4 (/ 1 (pow x 2))))) (taylor -inf x) (#s(alt (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x))) (patch (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x))) #<representation binary64>) () ())) ())
#s(alt (+ (log -1/2) (+ (log (/ -1 x)) (+ (/ 3/32 (pow x 4)) (* 1/4 (/ 1 (pow x 2)))))) (taylor -inf x) (#s(alt (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x))) (patch (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x))) #<representation binary64>) () ())) ())
#s(alt (+ (log -1/2) (+ (log (/ -1 x)) (+ (/ 3/32 (pow x 4)) (+ (* 1/4 (/ 1 (pow x 2))) (* 5/96 (/ 1 (pow x 6))))))) (taylor -inf x) (#s(alt (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x))) (patch (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x))) #<representation binary64>) () ())) ())
#s(alt (/ 1/2 x) (taylor -inf x) (#s(alt #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x)) (patch #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (/ (+ 1/2 (* 1/8 (/ 1 (pow x 2)))) x) (taylor -inf x) (#s(alt #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x)) (patch #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (/ (- (* -1 (/ (+ 1/8 (* 1/16 (/ 1 (pow x 2)))) (pow x 2))) 1/2) x)) (taylor -inf x) (#s(alt #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x)) (patch #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (/ (- (* -1 (/ (+ 1/16 (* 5/128 (/ 1 (pow x 2)))) (pow x 4))) (+ 1/2 (* 1/8 (/ 1 (pow x 2))))) x)) (taylor -inf x) (#s(alt #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x)) (patch #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (* 2 x) (taylor -inf x) (#s(alt (*.f64 #s(literal 2 binary64) x) (patch (*.f64 #s(literal 2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* 2 x) (taylor -inf x) (#s(alt (*.f64 #s(literal 2 binary64) x) (patch (*.f64 #s(literal 2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* 2 x) (taylor -inf x) (#s(alt (*.f64 #s(literal 2 binary64) x) (patch (*.f64 #s(literal 2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* 2 x) (taylor -inf x) (#s(alt (*.f64 #s(literal 2 binary64) x) (patch (*.f64 #s(literal 2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (+ (log -1/2) (log (/ -1 x))) (taylor -inf x) (#s(alt (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x)))) (patch (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x)))) #<representation binary64>) () ())) ())
#s(alt (+ (log -1/2) (+ (log (/ -1 x)) (* 1/4 (/ 1 (pow x 2))))) (taylor -inf x) (#s(alt (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x)))) (patch (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x)))) #<representation binary64>) () ())) ())
#s(alt (+ (log -1/2) (+ (log (/ -1 x)) (+ (/ 3/32 (pow x 4)) (* 1/4 (/ 1 (pow x 2)))))) (taylor -inf x) (#s(alt (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x)))) (patch (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x)))) #<representation binary64>) () ())) ())
#s(alt (+ (log -1/2) (+ (log (/ -1 x)) (+ (/ 3/32 (pow x 4)) (+ (* 1/4 (/ 1 (pow x 2))) (* 5/96 (/ 1 (pow x 6))))))) (taylor -inf x) (#s(alt (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x)))) (patch (log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x)))) #<representation binary64>) () ())) ())
#s(alt (/ 1/2 x) (taylor -inf x) (#s(alt #s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x))) (patch #s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x))) #<representation binary64>) () ())) ())
#s(alt (/ (+ 1/2 (* 1/8 (/ 1 (pow x 2)))) x) (taylor -inf x) (#s(alt #s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x))) (patch #s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x))) #<representation binary64>) () ())) ())
#s(alt (* -1 (/ (- (* -1 (/ (+ 1/8 (* 1/16 (/ 1 (pow x 2)))) (pow x 2))) 1/2) x)) (taylor -inf x) (#s(alt #s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x))) (patch #s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x))) #<representation binary64>) () ())) ())
#s(alt (* -1 (/ (- (* -1 (/ (+ 1/16 (* 5/128 (/ 1 (pow x 2)))) (pow x 4))) (+ 1/2 (* 1/8 (/ 1 (pow x 2))))) x)) (taylor -inf x) (#s(alt #s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x))) (patch #s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x))) #<representation binary64>) () ())) ())
#s(alt (* 2 x) (taylor -inf x) (#s(alt (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x)) (patch (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- (* 1/2 (/ 1 (pow x 2))) 2))) (taylor -inf x) (#s(alt (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x)) (patch (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- (* 1/2 (/ 1 (pow x 2))) 2))) (taylor -inf x) (#s(alt (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x)) (patch (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- (* 1/2 (/ 1 (pow x 2))) 2))) (taylor -inf x) (#s(alt (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x)) (patch (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (/ -1/2 x) (taylor -inf x) (#s(alt (/.f64 #s(literal -1/2 binary64) x) (patch (/.f64 #s(literal -1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ -1/2 x) (taylor -inf x) (#s(alt (/.f64 #s(literal -1/2 binary64) x) (patch (/.f64 #s(literal -1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ -1/2 x) (taylor -inf x) (#s(alt (/.f64 #s(literal -1/2 binary64) x) (patch (/.f64 #s(literal -1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ -1/2 x) (taylor -inf x) (#s(alt (/.f64 #s(literal -1/2 binary64) x) (patch (/.f64 #s(literal -1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (+ (log -1/2) (log (/ -1 x))) (taylor -inf x) (#s(alt (log.f64 (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x)) (patch (log.f64 (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x)) #<representation binary64>) () ())) ())
#s(alt (+ (log -1/2) (+ (log (/ -1 x)) (* 1/4 (/ 1 (pow x 2))))) (taylor -inf x) (#s(alt (log.f64 (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x)) (patch (log.f64 (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x)) #<representation binary64>) () ())) ())
#s(alt (+ (log -1/2) (+ (log (/ -1 x)) (+ (/ 3/32 (pow x 4)) (* 1/4 (/ 1 (pow x 2)))))) (taylor -inf x) (#s(alt (log.f64 (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x)) (patch (log.f64 (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x)) #<representation binary64>) () ())) ())
#s(alt (+ (log -1/2) (+ (log (/ -1 x)) (+ (/ 3/32 (pow x 4)) (+ (* 1/4 (/ 1 (pow x 2))) (* 5/96 (/ 1 (pow x 6))))))) (taylor -inf x) (#s(alt (log.f64 (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x)) (patch (log.f64 (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x)) #<representation binary64>) () ())) ())
#s(alt (/ 1/2 x) (taylor -inf x) (#s(alt (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x) (patch (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x) #<representation binary64>) () ())) ())
#s(alt (/ (+ 1/2 (* 1/8 (/ 1 (pow x 2)))) x) (taylor -inf x) (#s(alt (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x) (patch (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (/ (- (* -1 (/ (+ 1/8 (* 1/16 (/ 1 (pow x 2)))) (pow x 2))) 1/2) x)) (taylor -inf x) (#s(alt (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x) (patch (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (/ (- (* -1 (/ (+ 1/16 (* 5/128 (/ 1 (pow x 2)))) (pow x 4))) (+ 1/2 (* 1/8 (/ 1 (pow x 2))))) x)) (taylor -inf x) (#s(alt (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x) (patch (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor -inf x) (#s(alt (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) (patch (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- 1 (* 1/2 (/ 1 (pow x 2)))))) (taylor -inf x) (#s(alt (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) (patch (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ 1 (* -1 (/ (+ 1/2 (* 1/8 (/ 1 (pow x 2)))) (pow x 2)))))) (taylor -inf x) (#s(alt (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) (patch (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- (+ 1 (* -1 (/ (+ 1/8 (* 1/16 (/ 1 (pow x 2)))) (pow x 4)))) (* 1/2 (/ 1 (pow x 2)))))) (taylor -inf x) (#s(alt (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) (patch (sqrt.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>) () ())) ())
Calls

3 calls:

TimeVariablePointExpression
45.0ms
x
@0
((log (+ x (sqrt (- (* x x) 1)))) (+ (log x) (log 2)) (log x) (log 2) (log (+ x (sqrt (- (* x x) 1)))) (+ x (sqrt (- (* x x) 1))) (* 2 x) (log (+ x (sqrt (- (* x x) 1)))) (+ x (sqrt (- (* x x) 1))) (+ (* 2 x) (/ -1/2 x)) (/ -1/2 x) (log (+ (sqrt (+ (* x x) -1)) x)) (+ (sqrt (+ (* x x) -1)) x) (sqrt (+ (* x x) -1)) (+ (* x x) -1))
24.0ms
x
@inf
((log (+ x (sqrt (- (* x x) 1)))) (+ (log x) (log 2)) (log x) (log 2) (log (+ x (sqrt (- (* x x) 1)))) (+ x (sqrt (- (* x x) 1))) (* 2 x) (log (+ x (sqrt (- (* x x) 1)))) (+ x (sqrt (- (* x x) 1))) (+ (* 2 x) (/ -1/2 x)) (/ -1/2 x) (log (+ (sqrt (+ (* x x) -1)) x)) (+ (sqrt (+ (* x x) -1)) x) (sqrt (+ (* x x) -1)) (+ (* x x) -1))
20.0ms
x
@-inf
((log (+ x (sqrt (- (* x x) 1)))) (+ (log x) (log 2)) (log x) (log 2) (log (+ x (sqrt (- (* x x) 1)))) (+ x (sqrt (- (* x x) 1))) (* 2 x) (log (+ x (sqrt (- (* x x) 1)))) (+ x (sqrt (- (* x x) 1))) (+ (* 2 x) (/ -1/2 x)) (/ -1/2 x) (log (+ (sqrt (+ (* x x) -1)) x)) (+ (sqrt (+ (* x x) -1)) x) (sqrt (+ (* x x) -1)) (+ (* x x) -1))

simplify217.0ms (3.7%)

Memory
-46.9MiB live, 190.2MiB allocated
Algorithm
egg-herbie
Rules
10 468×lower-fma.f64
10 468×lower-fma.f32
3 696×lower-*.f64
3 696×lower-*.f32
2 990×lower-+.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01641717
14431641
212161619
335081538
478301538
084211472
Stop Event
iter limit
node limit
Counts
168 → 167
Calls
Call 1
Inputs
(log (sqrt -1))
(+ (log (sqrt -1)) (/ x (sqrt -1)))
(+ (log (sqrt -1)) (* x (+ (* -1/6 (/ (pow x 2) (pow (sqrt -1) 3))) (/ 1 (sqrt -1)))))
(+ (log (sqrt -1)) (* x (+ (* (pow x 2) (- (* 3/40 (/ (pow x 2) (pow (sqrt -1) 5))) (* 1/6 (/ 1 (pow (sqrt -1) 3))))) (/ 1 (sqrt -1)))))
(+ (log 2) (log x))
(+ (log 2) (log x))
(+ (log 2) (log x))
(+ (log 2) (log x))
(log x)
(log x)
(log x)
(log x)
(log (sqrt -1))
(+ (log (sqrt -1)) (/ x (sqrt -1)))
(+ (log (sqrt -1)) (* x (+ (* -1/6 (/ (pow x 2) (pow (sqrt -1) 3))) (/ 1 (sqrt -1)))))
(+ (log (sqrt -1)) (* x (+ (* (pow x 2) (- (* 3/40 (/ (pow x 2) (pow (sqrt -1) 5))) (* 1/6 (/ 1 (pow (sqrt -1) 3))))) (/ 1 (sqrt -1)))))
(sqrt -1)
(+ x (sqrt -1))
(+ (sqrt -1) (* x (+ 1 (* 1/2 (/ x (sqrt -1))))))
(+ (sqrt -1) (* x (+ 1 (* x (+ (* -1/8 (/ (pow x 2) (pow (sqrt -1) 3))) (* 1/2 (/ 1 (sqrt -1))))))))
(* 2 x)
(* 2 x)
(* 2 x)
(* 2 x)
(log (sqrt -1))
(+ (log (sqrt -1)) (/ x (sqrt -1)))
(+ (log (sqrt -1)) (* x (+ (* -1/6 (/ (pow x 2) (pow (sqrt -1) 3))) (/ 1 (sqrt -1)))))
(+ (log (sqrt -1)) (* x (+ (* (pow x 2) (- (* 3/40 (/ (pow x 2) (pow (sqrt -1) 5))) (* 1/6 (/ 1 (pow (sqrt -1) 3))))) (/ 1 (sqrt -1)))))
(sqrt -1)
(+ x (sqrt -1))
(+ (sqrt -1) (* x (+ 1 (* 1/2 (/ x (sqrt -1))))))
(+ (sqrt -1) (* x (+ 1 (* x (+ (* -1/8 (/ (pow x 2) (pow (sqrt -1) 3))) (* 1/2 (/ 1 (sqrt -1))))))))
(/ -1/2 x)
(/ (- (* 2 (pow x 2)) 1/2) x)
(/ (- (* 2 (pow x 2)) 1/2) x)
(/ (- (* 2 (pow x 2)) 1/2) x)
(/ -1/2 x)
(/ -1/2 x)
(/ -1/2 x)
(/ -1/2 x)
(log (sqrt -1))
(+ (log (sqrt -1)) (/ x (sqrt -1)))
(+ (log (sqrt -1)) (* x (+ (* -1/6 (/ (pow x 2) (pow (sqrt -1) 3))) (/ 1 (sqrt -1)))))
(+ (log (sqrt -1)) (* x (+ (* (pow x 2) (- (* 3/40 (/ (pow x 2) (pow (sqrt -1) 5))) (* 1/6 (/ 1 (pow (sqrt -1) 3))))) (/ 1 (sqrt -1)))))
(sqrt -1)
(+ x (sqrt -1))
(+ (sqrt -1) (* x (+ 1 (* 1/2 (/ x (sqrt -1))))))
(+ (sqrt -1) (* x (+ 1 (* x (+ (* -1/8 (/ (pow x 2) (pow (sqrt -1) 3))) (* 1/2 (/ 1 (sqrt -1))))))))
(sqrt -1)
(+ (sqrt -1) (* 1/2 (/ (pow x 2) (sqrt -1))))
(+ (sqrt -1) (* (pow x 2) (+ (* -1/8 (/ (pow x 2) (pow (sqrt -1) 3))) (* 1/2 (/ 1 (sqrt -1))))))
(+ (sqrt -1) (* (pow x 2) (+ (* (pow x 2) (- (* 1/16 (/ (pow x 2) (pow (sqrt -1) 5))) (* 1/8 (/ 1 (pow (sqrt -1) 3))))) (* 1/2 (/ 1 (sqrt -1))))))
-1
(- (pow x 2) 1)
(- (pow x 2) 1)
(- (pow x 2) 1)
(+ (log 2) (* -1 (log (/ 1 x))))
(- (+ (log 2) (* -1 (log (/ 1 x)))) (* 1/4 (/ 1 (pow x 2))))
(+ (log 2) (+ (* -1 (log (/ 1 x))) (* -1 (/ (+ 1/4 (* 3/32 (/ 1 (pow x 2)))) (pow x 2)))))
(- (+ (log 2) (+ (* -1 (log (/ 1 x))) (* -1 (/ (+ 3/32 (* 5/96 (/ 1 (pow x 2)))) (pow x 4))))) (* 1/4 (/ 1 (pow x 2))))
(+ (log 2) (* -1 (log (/ 1 x))))
(+ (log 2) (* -1 (log (/ 1 x))))
(+ (log 2) (* -1 (log (/ 1 x))))
(+ (log 2) (* -1 (log (/ 1 x))))
(* -1 (log (/ 1 x)))
(* -1 (log (/ 1 x)))
(* -1 (log (/ 1 x)))
(* -1 (log (/ 1 x)))
(+ (log 2) (* -1 (log (/ 1 x))))
(- (+ (log 2) (* -1 (log (/ 1 x)))) (* 1/4 (/ 1 (pow x 2))))
(+ (log 2) (+ (* -1 (log (/ 1 x))) (* -1 (/ (+ 1/4 (* 3/32 (/ 1 (pow x 2)))) (pow x 2)))))
(- (+ (log 2) (+ (* -1 (log (/ 1 x))) (* -1 (/ (+ 3/32 (* 5/96 (/ 1 (pow x 2)))) (pow x 4))))) (* 1/4 (/ 1 (pow x 2))))
(* 2 x)
(* x (- 2 (* 1/2 (/ 1 (pow x 2)))))
(* x (+ 2 (* -1 (/ (+ 1/2 (* 1/8 (/ 1 (pow x 2)))) (pow x 2)))))
(* x (- (+ 2 (* -1 (/ (+ 1/8 (* 1/16 (/ 1 (pow x 2)))) (pow x 4)))) (* 1/2 (/ 1 (pow x 2)))))
(* 2 x)
(* 2 x)
(* 2 x)
(* 2 x)
(+ (log 2) (* -1 (log (/ 1 x))))
(- (+ (log 2) (* -1 (log (/ 1 x)))) (* 1/4 (/ 1 (pow x 2))))
(+ (log 2) (+ (* -1 (log (/ 1 x))) (* -1 (/ (+ 1/4 (* 3/32 (/ 1 (pow x 2)))) (pow x 2)))))
(- (+ (log 2) (+ (* -1 (log (/ 1 x))) (* -1 (/ (+ 3/32 (* 5/96 (/ 1 (pow x 2)))) (pow x 4))))) (* 1/4 (/ 1 (pow x 2))))
(* 2 x)
(* x (- 2 (* 1/2 (/ 1 (pow x 2)))))
(* x (+ 2 (* -1 (/ (+ 1/2 (* 1/8 (/ 1 (pow x 2)))) (pow x 2)))))
(* x (- (+ 2 (* -1 (/ (+ 1/8 (* 1/16 (/ 1 (pow x 2)))) (pow x 4)))) (* 1/2 (/ 1 (pow x 2)))))
(* 2 x)
(* x (- 2 (* 1/2 (/ 1 (pow x 2)))))
(* x (- 2 (* 1/2 (/ 1 (pow x 2)))))
(* x (- 2 (* 1/2 (/ 1 (pow x 2)))))
(/ -1/2 x)
(/ -1/2 x)
(/ -1/2 x)
(/ -1/2 x)
(+ (log 2) (* -1 (log (/ 1 x))))
(- (+ (log 2) (* -1 (log (/ 1 x)))) (* 1/4 (/ 1 (pow x 2))))
(+ (log 2) (+ (* -1 (log (/ 1 x))) (* -1 (/ (+ 1/4 (* 3/32 (/ 1 (pow x 2)))) (pow x 2)))))
(- (+ (log 2) (+ (* -1 (log (/ 1 x))) (* -1 (/ (+ 3/32 (* 5/96 (/ 1 (pow x 2)))) (pow x 4))))) (* 1/4 (/ 1 (pow x 2))))
(* 2 x)
(* x (- 2 (* 1/2 (/ 1 (pow x 2)))))
(* x (+ 2 (* -1 (/ (+ 1/2 (* 1/8 (/ 1 (pow x 2)))) (pow x 2)))))
(* x (- (+ 2 (* -1 (/ (+ 1/8 (* 1/16 (/ 1 (pow x 2)))) (pow x 4)))) (* 1/2 (/ 1 (pow x 2)))))
x
(* x (- 1 (* 1/2 (/ 1 (pow x 2)))))
(* x (+ 1 (* -1 (/ (+ 1/2 (* 1/8 (/ 1 (pow x 2)))) (pow x 2)))))
(* x (- (+ 1 (* -1 (/ (+ 1/8 (* 1/16 (/ 1 (pow x 2)))) (pow x 4)))) (* 1/2 (/ 1 (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))))
(+ (log -1/2) (log (/ -1 x)))
(+ (log -1/2) (+ (log (/ -1 x)) (* 1/4 (/ 1 (pow x 2)))))
(+ (log -1/2) (+ (log (/ -1 x)) (+ (/ 3/32 (pow x 4)) (* 1/4 (/ 1 (pow x 2))))))
(+ (log -1/2) (+ (log (/ -1 x)) (+ (/ 3/32 (pow x 4)) (+ (* 1/4 (/ 1 (pow x 2))) (* 5/96 (/ 1 (pow x 6)))))))
(+ (log -1) (+ (log 2) (* -1 (log (/ -1 x)))))
(+ (log -1) (+ (log 2) (* -1 (log (/ -1 x)))))
(+ (log -1) (+ (log 2) (* -1 (log (/ -1 x)))))
(+ (log -1) (+ (log 2) (* -1 (log (/ -1 x)))))
(+ (log -1) (* -1 (log (/ -1 x))))
(+ (log -1) (* -1 (log (/ -1 x))))
(+ (log -1) (* -1 (log (/ -1 x))))
(+ (log -1) (* -1 (log (/ -1 x))))
(+ (log -1/2) (log (/ -1 x)))
(+ (log -1/2) (+ (log (/ -1 x)) (* 1/4 (/ 1 (pow x 2)))))
(+ (log -1/2) (+ (log (/ -1 x)) (+ (/ 3/32 (pow x 4)) (* 1/4 (/ 1 (pow x 2))))))
(+ (log -1/2) (+ (log (/ -1 x)) (+ (/ 3/32 (pow x 4)) (+ (* 1/4 (/ 1 (pow x 2))) (* 5/96 (/ 1 (pow x 6)))))))
(/ 1/2 x)
(/ (+ 1/2 (* 1/8 (/ 1 (pow x 2)))) x)
(* -1 (/ (- (* -1 (/ (+ 1/8 (* 1/16 (/ 1 (pow x 2)))) (pow x 2))) 1/2) x))
(* -1 (/ (- (* -1 (/ (+ 1/16 (* 5/128 (/ 1 (pow x 2)))) (pow x 4))) (+ 1/2 (* 1/8 (/ 1 (pow x 2))))) x))
(* 2 x)
(* 2 x)
(* 2 x)
(* 2 x)
(+ (log -1/2) (log (/ -1 x)))
(+ (log -1/2) (+ (log (/ -1 x)) (* 1/4 (/ 1 (pow x 2)))))
(+ (log -1/2) (+ (log (/ -1 x)) (+ (/ 3/32 (pow x 4)) (* 1/4 (/ 1 (pow x 2))))))
(+ (log -1/2) (+ (log (/ -1 x)) (+ (/ 3/32 (pow x 4)) (+ (* 1/4 (/ 1 (pow x 2))) (* 5/96 (/ 1 (pow x 6)))))))
(/ 1/2 x)
(/ (+ 1/2 (* 1/8 (/ 1 (pow x 2)))) x)
(* -1 (/ (- (* -1 (/ (+ 1/8 (* 1/16 (/ 1 (pow x 2)))) (pow x 2))) 1/2) x))
(* -1 (/ (- (* -1 (/ (+ 1/16 (* 5/128 (/ 1 (pow x 2)))) (pow x 4))) (+ 1/2 (* 1/8 (/ 1 (pow x 2))))) x))
(* 2 x)
(* -1 (* x (- (* 1/2 (/ 1 (pow x 2))) 2)))
(* -1 (* x (- (* 1/2 (/ 1 (pow x 2))) 2)))
(* -1 (* x (- (* 1/2 (/ 1 (pow x 2))) 2)))
(/ -1/2 x)
(/ -1/2 x)
(/ -1/2 x)
(/ -1/2 x)
(+ (log -1/2) (log (/ -1 x)))
(+ (log -1/2) (+ (log (/ -1 x)) (* 1/4 (/ 1 (pow x 2)))))
(+ (log -1/2) (+ (log (/ -1 x)) (+ (/ 3/32 (pow x 4)) (* 1/4 (/ 1 (pow x 2))))))
(+ (log -1/2) (+ (log (/ -1 x)) (+ (/ 3/32 (pow x 4)) (+ (* 1/4 (/ 1 (pow x 2))) (* 5/96 (/ 1 (pow x 6)))))))
(/ 1/2 x)
(/ (+ 1/2 (* 1/8 (/ 1 (pow x 2)))) x)
(* -1 (/ (- (* -1 (/ (+ 1/8 (* 1/16 (/ 1 (pow x 2)))) (pow x 2))) 1/2) x))
(* -1 (/ (- (* -1 (/ (+ 1/16 (* 5/128 (/ 1 (pow x 2)))) (pow x 4))) (+ 1/2 (* 1/8 (/ 1 (pow x 2))))) x))
(* -1 x)
(* -1 (* x (- 1 (* 1/2 (/ 1 (pow x 2))))))
(* -1 (* x (+ 1 (* -1 (/ (+ 1/2 (* 1/8 (/ 1 (pow x 2)))) (pow x 2))))))
(* -1 (* x (- (+ 1 (* -1 (/ (+ 1/8 (* 1/16 (/ 1 (pow x 2)))) (pow x 4)))) (* 1/2 (/ 1 (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))))
Outputs
(log (sqrt -1))
(log.f64 (sqrt.f64 #s(literal -1 binary64)))
(+ (log (sqrt -1)) (/ x (sqrt -1)))
(+.f64 (/.f64 x (sqrt.f64 #s(literal -1 binary64))) (log.f64 (sqrt.f64 #s(literal -1 binary64))))
(+ (log (sqrt -1)) (* x (+ (* -1/6 (/ (pow x 2) (pow (sqrt -1) 3))) (/ 1 (sqrt -1)))))
(fma.f64 (fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal 1 binary64)) (/.f64 x (sqrt.f64 #s(literal -1 binary64))) (log.f64 (sqrt.f64 #s(literal -1 binary64))))
(+ (log (sqrt -1)) (* x (+ (* (pow x 2) (- (* 3/40 (/ (pow x 2) (pow (sqrt -1) 5))) (* 1/6 (/ 1 (pow (sqrt -1) 3))))) (/ 1 (sqrt -1)))))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (*.f64 #s(literal 3/40 binary64) x) (/.f64 x (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 5 binary64))) (/.f64 #s(literal 1/6 binary64) (sqrt.f64 #s(literal -1 binary64)))) (+.f64 (/.f64 x (sqrt.f64 #s(literal -1 binary64))) (log.f64 (sqrt.f64 #s(literal -1 binary64)))))
(+ (log 2) (log x))
(+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64)))
(+ (log 2) (log x))
(+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64)))
(+ (log 2) (log x))
(+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64)))
(+ (log 2) (log x))
(+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64)))
(log x)
(log.f64 x)
(log x)
(log.f64 x)
(log x)
(log.f64 x)
(log x)
(log.f64 x)
(log (sqrt -1))
(log.f64 (sqrt.f64 #s(literal -1 binary64)))
(+ (log (sqrt -1)) (/ x (sqrt -1)))
(+.f64 (/.f64 x (sqrt.f64 #s(literal -1 binary64))) (log.f64 (sqrt.f64 #s(literal -1 binary64))))
(+ (log (sqrt -1)) (* x (+ (* -1/6 (/ (pow x 2) (pow (sqrt -1) 3))) (/ 1 (sqrt -1)))))
(fma.f64 (fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal 1 binary64)) (/.f64 x (sqrt.f64 #s(literal -1 binary64))) (log.f64 (sqrt.f64 #s(literal -1 binary64))))
(+ (log (sqrt -1)) (* x (+ (* (pow x 2) (- (* 3/40 (/ (pow x 2) (pow (sqrt -1) 5))) (* 1/6 (/ 1 (pow (sqrt -1) 3))))) (/ 1 (sqrt -1)))))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (*.f64 #s(literal 3/40 binary64) x) (/.f64 x (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 5 binary64))) (/.f64 #s(literal 1/6 binary64) (sqrt.f64 #s(literal -1 binary64)))) (+.f64 (/.f64 x (sqrt.f64 #s(literal -1 binary64))) (log.f64 (sqrt.f64 #s(literal -1 binary64)))))
(sqrt -1)
(sqrt.f64 #s(literal -1 binary64))
(+ x (sqrt -1))
(+.f64 x (sqrt.f64 #s(literal -1 binary64)))
(+ (sqrt -1) (* x (+ 1 (* 1/2 (/ x (sqrt -1))))))
(fma.f64 (fma.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal -1 binary64))) x #s(literal 1 binary64)) x (sqrt.f64 #s(literal -1 binary64)))
(+ (sqrt -1) (* x (+ 1 (* x (+ (* -1/8 (/ (pow x 2) (pow (sqrt -1) 3))) (* 1/2 (/ 1 (sqrt -1))))))))
(fma.f64 (fma.f64 (/.f64 x (sqrt.f64 #s(literal -1 binary64))) (fma.f64 (*.f64 x x) #s(literal 1/8 binary64) #s(literal 1/2 binary64)) #s(literal 1 binary64)) x (sqrt.f64 #s(literal -1 binary64)))
(* 2 x)
(*.f64 #s(literal 2 binary64) x)
(* 2 x)
(*.f64 #s(literal 2 binary64) x)
(* 2 x)
(*.f64 #s(literal 2 binary64) x)
(* 2 x)
(*.f64 #s(literal 2 binary64) x)
(log (sqrt -1))
(log.f64 (sqrt.f64 #s(literal -1 binary64)))
(+ (log (sqrt -1)) (/ x (sqrt -1)))
(+.f64 (/.f64 x (sqrt.f64 #s(literal -1 binary64))) (log.f64 (sqrt.f64 #s(literal -1 binary64))))
(+ (log (sqrt -1)) (* x (+ (* -1/6 (/ (pow x 2) (pow (sqrt -1) 3))) (/ 1 (sqrt -1)))))
(fma.f64 (fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal 1 binary64)) (/.f64 x (sqrt.f64 #s(literal -1 binary64))) (log.f64 (sqrt.f64 #s(literal -1 binary64))))
(+ (log (sqrt -1)) (* x (+ (* (pow x 2) (- (* 3/40 (/ (pow x 2) (pow (sqrt -1) 5))) (* 1/6 (/ 1 (pow (sqrt -1) 3))))) (/ 1 (sqrt -1)))))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (*.f64 #s(literal 3/40 binary64) x) (/.f64 x (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 5 binary64))) (/.f64 #s(literal 1/6 binary64) (sqrt.f64 #s(literal -1 binary64)))) (+.f64 (/.f64 x (sqrt.f64 #s(literal -1 binary64))) (log.f64 (sqrt.f64 #s(literal -1 binary64)))))
(sqrt -1)
(sqrt.f64 #s(literal -1 binary64))
(+ x (sqrt -1))
(+.f64 x (sqrt.f64 #s(literal -1 binary64)))
(+ (sqrt -1) (* x (+ 1 (* 1/2 (/ x (sqrt -1))))))
(fma.f64 (fma.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal -1 binary64))) x #s(literal 1 binary64)) x (sqrt.f64 #s(literal -1 binary64)))
(+ (sqrt -1) (* x (+ 1 (* x (+ (* -1/8 (/ (pow x 2) (pow (sqrt -1) 3))) (* 1/2 (/ 1 (sqrt -1))))))))
(fma.f64 (fma.f64 (/.f64 x (sqrt.f64 #s(literal -1 binary64))) (fma.f64 (*.f64 x x) #s(literal 1/8 binary64) #s(literal 1/2 binary64)) #s(literal 1 binary64)) x (sqrt.f64 #s(literal -1 binary64)))
(/ -1/2 x)
(/.f64 #s(literal -1/2 binary64) x)
(/ (- (* 2 (pow x 2)) 1/2) x)
(fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x))
(/ (- (* 2 (pow x 2)) 1/2) x)
(fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x))
(/ (- (* 2 (pow x 2)) 1/2) x)
(fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x))
(/ -1/2 x)
(/.f64 #s(literal -1/2 binary64) x)
(/ -1/2 x)
(/.f64 #s(literal -1/2 binary64) x)
(/ -1/2 x)
(/.f64 #s(literal -1/2 binary64) x)
(/ -1/2 x)
(/.f64 #s(literal -1/2 binary64) x)
(log (sqrt -1))
(log.f64 (sqrt.f64 #s(literal -1 binary64)))
(+ (log (sqrt -1)) (/ x (sqrt -1)))
(+.f64 (/.f64 x (sqrt.f64 #s(literal -1 binary64))) (log.f64 (sqrt.f64 #s(literal -1 binary64))))
(+ (log (sqrt -1)) (* x (+ (* -1/6 (/ (pow x 2) (pow (sqrt -1) 3))) (/ 1 (sqrt -1)))))
(fma.f64 (fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal 1 binary64)) (/.f64 x (sqrt.f64 #s(literal -1 binary64))) (log.f64 (sqrt.f64 #s(literal -1 binary64))))
(+ (log (sqrt -1)) (* x (+ (* (pow x 2) (- (* 3/40 (/ (pow x 2) (pow (sqrt -1) 5))) (* 1/6 (/ 1 (pow (sqrt -1) 3))))) (/ 1 (sqrt -1)))))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (*.f64 #s(literal 3/40 binary64) x) (/.f64 x (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 5 binary64))) (/.f64 #s(literal 1/6 binary64) (sqrt.f64 #s(literal -1 binary64)))) (+.f64 (/.f64 x (sqrt.f64 #s(literal -1 binary64))) (log.f64 (sqrt.f64 #s(literal -1 binary64)))))
(sqrt -1)
(sqrt.f64 #s(literal -1 binary64))
(+ x (sqrt -1))
(+.f64 x (sqrt.f64 #s(literal -1 binary64)))
(+ (sqrt -1) (* x (+ 1 (* 1/2 (/ x (sqrt -1))))))
(fma.f64 (fma.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal -1 binary64))) x #s(literal 1 binary64)) x (sqrt.f64 #s(literal -1 binary64)))
(+ (sqrt -1) (* x (+ 1 (* x (+ (* -1/8 (/ (pow x 2) (pow (sqrt -1) 3))) (* 1/2 (/ 1 (sqrt -1))))))))
(fma.f64 (fma.f64 (/.f64 x (sqrt.f64 #s(literal -1 binary64))) (fma.f64 (*.f64 x x) #s(literal 1/8 binary64) #s(literal 1/2 binary64)) #s(literal 1 binary64)) x (sqrt.f64 #s(literal -1 binary64)))
(sqrt -1)
(sqrt.f64 #s(literal -1 binary64))
(+ (sqrt -1) (* 1/2 (/ (pow x 2) (sqrt -1))))
(fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal -1 binary64))) x) x (sqrt.f64 #s(literal -1 binary64)))
(+ (sqrt -1) (* (pow x 2) (+ (* -1/8 (/ (pow x 2) (pow (sqrt -1) 3))) (* 1/2 (/ 1 (sqrt -1))))))
(fma.f64 (*.f64 (/.f64 x (sqrt.f64 #s(literal -1 binary64))) x) (fma.f64 (*.f64 x x) #s(literal 1/8 binary64) #s(literal 1/2 binary64)) (sqrt.f64 #s(literal -1 binary64)))
(+ (sqrt -1) (* (pow x 2) (+ (* (pow x 2) (- (* 1/16 (/ (pow x 2) (pow (sqrt -1) 5))) (* 1/8 (/ 1 (pow (sqrt -1) 3))))) (* 1/2 (/ 1 (sqrt -1))))))
(fma.f64 (pow.f64 x #s(literal 4 binary64)) (fma.f64 (*.f64 #s(literal 1/16 binary64) x) (/.f64 x (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 5 binary64))) (/.f64 #s(literal 1/8 binary64) (sqrt.f64 #s(literal -1 binary64)))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal -1 binary64))) x) x (sqrt.f64 #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))
(+ (log 2) (* -1 (log (/ 1 x))))
(+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64)))
(- (+ (log 2) (* -1 (log (/ 1 x)))) (* 1/4 (/ 1 (pow x 2))))
(-.f64 (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64))) (/.f64 #s(literal 1/4 binary64) (*.f64 x x)))
(+ (log 2) (+ (* -1 (log (/ 1 x))) (* -1 (/ (+ 1/4 (* 3/32 (/ 1 (pow x 2)))) (pow x 2)))))
(-.f64 (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64))) (/.f64 (/.f64 (+.f64 (/.f64 #s(literal 3/32 binary64) (*.f64 x x)) #s(literal 1/4 binary64)) x) x))
(- (+ (log 2) (+ (* -1 (log (/ 1 x))) (* -1 (/ (+ 3/32 (* 5/96 (/ 1 (pow x 2)))) (pow x 4))))) (* 1/4 (/ 1 (pow x 2))))
(-.f64 (-.f64 (log.f64 #s(literal 2 binary64)) (/.f64 #s(literal 1/4 binary64) (*.f64 x x))) (-.f64 (/.f64 (+.f64 (/.f64 #s(literal 5/96 binary64) (*.f64 x x)) #s(literal 3/32 binary64)) (pow.f64 x #s(literal 4 binary64))) (log.f64 x)))
(+ (log 2) (* -1 (log (/ 1 x))))
(+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64)))
(+ (log 2) (* -1 (log (/ 1 x))))
(+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64)))
(+ (log 2) (* -1 (log (/ 1 x))))
(+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64)))
(+ (log 2) (* -1 (log (/ 1 x))))
(+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64)))
(* -1 (log (/ 1 x)))
(log.f64 x)
(* -1 (log (/ 1 x)))
(log.f64 x)
(* -1 (log (/ 1 x)))
(log.f64 x)
(* -1 (log (/ 1 x)))
(log.f64 x)
(+ (log 2) (* -1 (log (/ 1 x))))
(+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64)))
(- (+ (log 2) (* -1 (log (/ 1 x)))) (* 1/4 (/ 1 (pow x 2))))
(-.f64 (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64))) (/.f64 #s(literal 1/4 binary64) (*.f64 x x)))
(+ (log 2) (+ (* -1 (log (/ 1 x))) (* -1 (/ (+ 1/4 (* 3/32 (/ 1 (pow x 2)))) (pow x 2)))))
(-.f64 (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64))) (/.f64 (/.f64 (+.f64 (/.f64 #s(literal 3/32 binary64) (*.f64 x x)) #s(literal 1/4 binary64)) x) x))
(- (+ (log 2) (+ (* -1 (log (/ 1 x))) (* -1 (/ (+ 3/32 (* 5/96 (/ 1 (pow x 2)))) (pow x 4))))) (* 1/4 (/ 1 (pow x 2))))
(-.f64 (-.f64 (log.f64 #s(literal 2 binary64)) (/.f64 #s(literal 1/4 binary64) (*.f64 x x))) (-.f64 (/.f64 (+.f64 (/.f64 #s(literal 5/96 binary64) (*.f64 x x)) #s(literal 3/32 binary64)) (pow.f64 x #s(literal 4 binary64))) (log.f64 x)))
(* 2 x)
(*.f64 #s(literal 2 binary64) x)
(* x (- 2 (* 1/2 (/ 1 (pow x 2)))))
(fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x))
(* x (+ 2 (* -1 (/ (+ 1/2 (* 1/8 (/ 1 (pow x 2)))) (pow x 2)))))
(fma.f64 #s(literal 2 binary64) x (/.f64 (-.f64 #s(literal -1/2 binary64) (/.f64 #s(literal 1/8 binary64) (*.f64 x x))) x))
(* x (- (+ 2 (* -1 (/ (+ 1/8 (* 1/16 (/ 1 (pow x 2)))) (pow x 4)))) (* 1/2 (/ 1 (pow x 2)))))
(fma.f64 (-.f64 #s(literal 2 binary64) (/.f64 (+.f64 (/.f64 #s(literal 1/16 binary64) (*.f64 x x)) #s(literal 1/8 binary64)) (pow.f64 x #s(literal 4 binary64)))) x (/.f64 #s(literal -1/2 binary64) x))
(* 2 x)
(*.f64 #s(literal 2 binary64) x)
(* 2 x)
(*.f64 #s(literal 2 binary64) x)
(* 2 x)
(*.f64 #s(literal 2 binary64) x)
(* 2 x)
(*.f64 #s(literal 2 binary64) x)
(+ (log 2) (* -1 (log (/ 1 x))))
(+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64)))
(- (+ (log 2) (* -1 (log (/ 1 x)))) (* 1/4 (/ 1 (pow x 2))))
(-.f64 (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64))) (/.f64 #s(literal 1/4 binary64) (*.f64 x x)))
(+ (log 2) (+ (* -1 (log (/ 1 x))) (* -1 (/ (+ 1/4 (* 3/32 (/ 1 (pow x 2)))) (pow x 2)))))
(-.f64 (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64))) (/.f64 (/.f64 (+.f64 (/.f64 #s(literal 3/32 binary64) (*.f64 x x)) #s(literal 1/4 binary64)) x) x))
(- (+ (log 2) (+ (* -1 (log (/ 1 x))) (* -1 (/ (+ 3/32 (* 5/96 (/ 1 (pow x 2)))) (pow x 4))))) (* 1/4 (/ 1 (pow x 2))))
(-.f64 (-.f64 (log.f64 #s(literal 2 binary64)) (/.f64 #s(literal 1/4 binary64) (*.f64 x x))) (-.f64 (/.f64 (+.f64 (/.f64 #s(literal 5/96 binary64) (*.f64 x x)) #s(literal 3/32 binary64)) (pow.f64 x #s(literal 4 binary64))) (log.f64 x)))
(* 2 x)
(*.f64 #s(literal 2 binary64) x)
(* x (- 2 (* 1/2 (/ 1 (pow x 2)))))
(fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x))
(* x (+ 2 (* -1 (/ (+ 1/2 (* 1/8 (/ 1 (pow x 2)))) (pow x 2)))))
(fma.f64 #s(literal 2 binary64) x (/.f64 (-.f64 #s(literal -1/2 binary64) (/.f64 #s(literal 1/8 binary64) (*.f64 x x))) x))
(* x (- (+ 2 (* -1 (/ (+ 1/8 (* 1/16 (/ 1 (pow x 2)))) (pow x 4)))) (* 1/2 (/ 1 (pow x 2)))))
(fma.f64 (-.f64 #s(literal 2 binary64) (/.f64 (+.f64 (/.f64 #s(literal 1/16 binary64) (*.f64 x x)) #s(literal 1/8 binary64)) (pow.f64 x #s(literal 4 binary64)))) x (/.f64 #s(literal -1/2 binary64) x))
(* 2 x)
(*.f64 #s(literal 2 binary64) x)
(* x (- 2 (* 1/2 (/ 1 (pow x 2)))))
(fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x))
(* x (- 2 (* 1/2 (/ 1 (pow x 2)))))
(fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x))
(* x (- 2 (* 1/2 (/ 1 (pow x 2)))))
(fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x))
(/ -1/2 x)
(/.f64 #s(literal -1/2 binary64) x)
(/ -1/2 x)
(/.f64 #s(literal -1/2 binary64) x)
(/ -1/2 x)
(/.f64 #s(literal -1/2 binary64) x)
(/ -1/2 x)
(/.f64 #s(literal -1/2 binary64) x)
(+ (log 2) (* -1 (log (/ 1 x))))
(+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64)))
(- (+ (log 2) (* -1 (log (/ 1 x)))) (* 1/4 (/ 1 (pow x 2))))
(-.f64 (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64))) (/.f64 #s(literal 1/4 binary64) (*.f64 x x)))
(+ (log 2) (+ (* -1 (log (/ 1 x))) (* -1 (/ (+ 1/4 (* 3/32 (/ 1 (pow x 2)))) (pow x 2)))))
(-.f64 (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64))) (/.f64 (/.f64 (+.f64 (/.f64 #s(literal 3/32 binary64) (*.f64 x x)) #s(literal 1/4 binary64)) x) x))
(- (+ (log 2) (+ (* -1 (log (/ 1 x))) (* -1 (/ (+ 3/32 (* 5/96 (/ 1 (pow x 2)))) (pow x 4))))) (* 1/4 (/ 1 (pow x 2))))
(-.f64 (-.f64 (log.f64 #s(literal 2 binary64)) (/.f64 #s(literal 1/4 binary64) (*.f64 x x))) (-.f64 (/.f64 (+.f64 (/.f64 #s(literal 5/96 binary64) (*.f64 x x)) #s(literal 3/32 binary64)) (pow.f64 x #s(literal 4 binary64))) (log.f64 x)))
(* 2 x)
(*.f64 #s(literal 2 binary64) x)
(* x (- 2 (* 1/2 (/ 1 (pow x 2)))))
(fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x))
(* x (+ 2 (* -1 (/ (+ 1/2 (* 1/8 (/ 1 (pow x 2)))) (pow x 2)))))
(fma.f64 #s(literal 2 binary64) x (/.f64 (-.f64 #s(literal -1/2 binary64) (/.f64 #s(literal 1/8 binary64) (*.f64 x x))) x))
(* x (- (+ 2 (* -1 (/ (+ 1/8 (* 1/16 (/ 1 (pow x 2)))) (pow x 4)))) (* 1/2 (/ 1 (pow x 2)))))
(fma.f64 (-.f64 #s(literal 2 binary64) (/.f64 (+.f64 (/.f64 #s(literal 1/16 binary64) (*.f64 x x)) #s(literal 1/8 binary64)) (pow.f64 x #s(literal 4 binary64)))) x (/.f64 #s(literal -1/2 binary64) x))
x
(* x (- 1 (* 1/2 (/ 1 (pow x 2)))))
(-.f64 x (/.f64 #s(literal 1/2 binary64) x))
(* x (+ 1 (* -1 (/ (+ 1/2 (* 1/8 (/ 1 (pow x 2)))) (pow x 2)))))
(-.f64 x (/.f64 (+.f64 (/.f64 #s(literal 1/8 binary64) (*.f64 x x)) #s(literal 1/2 binary64)) x))
(* x (- (+ 1 (* -1 (/ (+ 1/8 (* 1/16 (/ 1 (pow x 2)))) (pow x 4)))) (* 1/2 (/ 1 (pow x 2)))))
(fma.f64 (/.f64 (-.f64 #s(literal -1/8 binary64) (/.f64 #s(literal 1/16 binary64) (*.f64 x x))) (pow.f64 x #s(literal 4 binary64))) x (-.f64 x (/.f64 #s(literal 1/2 binary64) 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))
(+ (log -1/2) (log (/ -1 x)))
(+.f64 (log.f64 (/.f64 #s(literal -1 binary64) x)) (log.f64 #s(literal -1/2 binary64)))
(+ (log -1/2) (+ (log (/ -1 x)) (* 1/4 (/ 1 (pow x 2)))))
(+.f64 (+.f64 (log.f64 (/.f64 #s(literal -1 binary64) x)) (/.f64 #s(literal 1/4 binary64) (*.f64 x x))) (log.f64 #s(literal -1/2 binary64)))
(+ (log -1/2) (+ (log (/ -1 x)) (+ (/ 3/32 (pow x 4)) (* 1/4 (/ 1 (pow x 2))))))
(+.f64 (+.f64 (+.f64 (/.f64 #s(literal 3/32 binary64) (pow.f64 x #s(literal 4 binary64))) (/.f64 #s(literal 1/4 binary64) (*.f64 x x))) (log.f64 (/.f64 #s(literal -1 binary64) x))) (log.f64 #s(literal -1/2 binary64)))
(+ (log -1/2) (+ (log (/ -1 x)) (+ (/ 3/32 (pow x 4)) (+ (* 1/4 (/ 1 (pow x 2))) (* 5/96 (/ 1 (pow x 6)))))))
(+.f64 (+.f64 (+.f64 (+.f64 (/.f64 #s(literal 5/96 binary64) (pow.f64 x #s(literal 6 binary64))) (/.f64 #s(literal 1/4 binary64) (*.f64 x x))) (/.f64 #s(literal 3/32 binary64) (pow.f64 x #s(literal 4 binary64)))) (log.f64 (/.f64 #s(literal -1 binary64) x))) (log.f64 #s(literal -1/2 binary64)))
(+ (log -1) (+ (log 2) (* -1 (log (/ -1 x)))))
(-.f64 (log.f64 #s(literal -1 binary64)) (-.f64 (log.f64 (/.f64 #s(literal -1 binary64) x)) (log.f64 #s(literal 2 binary64))))
(+ (log -1) (+ (log 2) (* -1 (log (/ -1 x)))))
(-.f64 (log.f64 #s(literal -1 binary64)) (-.f64 (log.f64 (/.f64 #s(literal -1 binary64) x)) (log.f64 #s(literal 2 binary64))))
(+ (log -1) (+ (log 2) (* -1 (log (/ -1 x)))))
(-.f64 (log.f64 #s(literal -1 binary64)) (-.f64 (log.f64 (/.f64 #s(literal -1 binary64) x)) (log.f64 #s(literal 2 binary64))))
(+ (log -1) (+ (log 2) (* -1 (log (/ -1 x)))))
(-.f64 (log.f64 #s(literal -1 binary64)) (-.f64 (log.f64 (/.f64 #s(literal -1 binary64) x)) (log.f64 #s(literal 2 binary64))))
(+ (log -1) (* -1 (log (/ -1 x))))
(-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) x)))
(+ (log -1) (* -1 (log (/ -1 x))))
(-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) x)))
(+ (log -1) (* -1 (log (/ -1 x))))
(-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) x)))
(+ (log -1) (* -1 (log (/ -1 x))))
(-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) x)))
(+ (log -1/2) (log (/ -1 x)))
(+.f64 (log.f64 (/.f64 #s(literal -1 binary64) x)) (log.f64 #s(literal -1/2 binary64)))
(+ (log -1/2) (+ (log (/ -1 x)) (* 1/4 (/ 1 (pow x 2)))))
(+.f64 (+.f64 (log.f64 (/.f64 #s(literal -1 binary64) x)) (/.f64 #s(literal 1/4 binary64) (*.f64 x x))) (log.f64 #s(literal -1/2 binary64)))
(+ (log -1/2) (+ (log (/ -1 x)) (+ (/ 3/32 (pow x 4)) (* 1/4 (/ 1 (pow x 2))))))
(+.f64 (+.f64 (+.f64 (/.f64 #s(literal 3/32 binary64) (pow.f64 x #s(literal 4 binary64))) (/.f64 #s(literal 1/4 binary64) (*.f64 x x))) (log.f64 (/.f64 #s(literal -1 binary64) x))) (log.f64 #s(literal -1/2 binary64)))
(+ (log -1/2) (+ (log (/ -1 x)) (+ (/ 3/32 (pow x 4)) (+ (* 1/4 (/ 1 (pow x 2))) (* 5/96 (/ 1 (pow x 6)))))))
(+.f64 (+.f64 (+.f64 (+.f64 (/.f64 #s(literal 5/96 binary64) (pow.f64 x #s(literal 6 binary64))) (/.f64 #s(literal 1/4 binary64) (*.f64 x x))) (/.f64 #s(literal 3/32 binary64) (pow.f64 x #s(literal 4 binary64)))) (log.f64 (/.f64 #s(literal -1 binary64) x))) (log.f64 #s(literal -1/2 binary64)))
(/ 1/2 x)
(/.f64 #s(literal 1/2 binary64) x)
(/ (+ 1/2 (* 1/8 (/ 1 (pow x 2)))) x)
(/.f64 (+.f64 (/.f64 #s(literal 1/8 binary64) (*.f64 x x)) #s(literal 1/2 binary64)) x)
(* -1 (/ (- (* -1 (/ (+ 1/8 (* 1/16 (/ 1 (pow x 2)))) (pow x 2))) 1/2) x))
(-.f64 (/.f64 #s(literal 1/2 binary64) x) (/.f64 (-.f64 #s(literal -1/8 binary64) (/.f64 #s(literal 1/16 binary64) (*.f64 x x))) (pow.f64 x #s(literal 3 binary64))))
(* -1 (/ (- (* -1 (/ (+ 1/16 (* 5/128 (/ 1 (pow x 2)))) (pow x 4))) (+ 1/2 (* 1/8 (/ 1 (pow x 2))))) x))
(-.f64 (-.f64 (/.f64 (+.f64 (/.f64 #s(literal 5/128 binary64) (*.f64 x x)) #s(literal 1/16 binary64)) (pow.f64 x #s(literal 5 binary64))) (/.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 3 binary64)))) (/.f64 #s(literal -1/2 binary64) x))
(* 2 x)
(*.f64 #s(literal 2 binary64) x)
(* 2 x)
(*.f64 #s(literal 2 binary64) x)
(* 2 x)
(*.f64 #s(literal 2 binary64) x)
(* 2 x)
(*.f64 #s(literal 2 binary64) x)
(+ (log -1/2) (log (/ -1 x)))
(+.f64 (log.f64 (/.f64 #s(literal -1 binary64) x)) (log.f64 #s(literal -1/2 binary64)))
(+ (log -1/2) (+ (log (/ -1 x)) (* 1/4 (/ 1 (pow x 2)))))
(+.f64 (+.f64 (log.f64 (/.f64 #s(literal -1 binary64) x)) (/.f64 #s(literal 1/4 binary64) (*.f64 x x))) (log.f64 #s(literal -1/2 binary64)))
(+ (log -1/2) (+ (log (/ -1 x)) (+ (/ 3/32 (pow x 4)) (* 1/4 (/ 1 (pow x 2))))))
(+.f64 (+.f64 (+.f64 (/.f64 #s(literal 3/32 binary64) (pow.f64 x #s(literal 4 binary64))) (/.f64 #s(literal 1/4 binary64) (*.f64 x x))) (log.f64 (/.f64 #s(literal -1 binary64) x))) (log.f64 #s(literal -1/2 binary64)))
(+ (log -1/2) (+ (log (/ -1 x)) (+ (/ 3/32 (pow x 4)) (+ (* 1/4 (/ 1 (pow x 2))) (* 5/96 (/ 1 (pow x 6)))))))
(+.f64 (+.f64 (+.f64 (+.f64 (/.f64 #s(literal 5/96 binary64) (pow.f64 x #s(literal 6 binary64))) (/.f64 #s(literal 1/4 binary64) (*.f64 x x))) (/.f64 #s(literal 3/32 binary64) (pow.f64 x #s(literal 4 binary64)))) (log.f64 (/.f64 #s(literal -1 binary64) x))) (log.f64 #s(literal -1/2 binary64)))
(/ 1/2 x)
(/.f64 #s(literal 1/2 binary64) x)
(/ (+ 1/2 (* 1/8 (/ 1 (pow x 2)))) x)
(/.f64 (+.f64 (/.f64 #s(literal 1/8 binary64) (*.f64 x x)) #s(literal 1/2 binary64)) x)
(* -1 (/ (- (* -1 (/ (+ 1/8 (* 1/16 (/ 1 (pow x 2)))) (pow x 2))) 1/2) x))
(-.f64 (/.f64 #s(literal 1/2 binary64) x) (/.f64 (-.f64 #s(literal -1/8 binary64) (/.f64 #s(literal 1/16 binary64) (*.f64 x x))) (pow.f64 x #s(literal 3 binary64))))
(* -1 (/ (- (* -1 (/ (+ 1/16 (* 5/128 (/ 1 (pow x 2)))) (pow x 4))) (+ 1/2 (* 1/8 (/ 1 (pow x 2))))) x))
(-.f64 (-.f64 (/.f64 (+.f64 (/.f64 #s(literal 5/128 binary64) (*.f64 x x)) #s(literal 1/16 binary64)) (pow.f64 x #s(literal 5 binary64))) (/.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 3 binary64)))) (/.f64 #s(literal -1/2 binary64) x))
(* 2 x)
(*.f64 #s(literal 2 binary64) x)
(* -1 (* x (- (* 1/2 (/ 1 (pow x 2))) 2)))
(fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x))
(* -1 (* x (- (* 1/2 (/ 1 (pow x 2))) 2)))
(fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x))
(* -1 (* x (- (* 1/2 (/ 1 (pow x 2))) 2)))
(fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x))
(/ -1/2 x)
(/.f64 #s(literal -1/2 binary64) x)
(/ -1/2 x)
(/.f64 #s(literal -1/2 binary64) x)
(/ -1/2 x)
(/.f64 #s(literal -1/2 binary64) x)
(/ -1/2 x)
(/.f64 #s(literal -1/2 binary64) x)
(+ (log -1/2) (log (/ -1 x)))
(+.f64 (log.f64 (/.f64 #s(literal -1 binary64) x)) (log.f64 #s(literal -1/2 binary64)))
(+ (log -1/2) (+ (log (/ -1 x)) (* 1/4 (/ 1 (pow x 2)))))
(+.f64 (+.f64 (log.f64 (/.f64 #s(literal -1 binary64) x)) (/.f64 #s(literal 1/4 binary64) (*.f64 x x))) (log.f64 #s(literal -1/2 binary64)))
(+ (log -1/2) (+ (log (/ -1 x)) (+ (/ 3/32 (pow x 4)) (* 1/4 (/ 1 (pow x 2))))))
(+.f64 (+.f64 (+.f64 (/.f64 #s(literal 3/32 binary64) (pow.f64 x #s(literal 4 binary64))) (/.f64 #s(literal 1/4 binary64) (*.f64 x x))) (log.f64 (/.f64 #s(literal -1 binary64) x))) (log.f64 #s(literal -1/2 binary64)))
(+ (log -1/2) (+ (log (/ -1 x)) (+ (/ 3/32 (pow x 4)) (+ (* 1/4 (/ 1 (pow x 2))) (* 5/96 (/ 1 (pow x 6)))))))
(+.f64 (+.f64 (+.f64 (+.f64 (/.f64 #s(literal 5/96 binary64) (pow.f64 x #s(literal 6 binary64))) (/.f64 #s(literal 1/4 binary64) (*.f64 x x))) (/.f64 #s(literal 3/32 binary64) (pow.f64 x #s(literal 4 binary64)))) (log.f64 (/.f64 #s(literal -1 binary64) x))) (log.f64 #s(literal -1/2 binary64)))
(/ 1/2 x)
(/.f64 #s(literal 1/2 binary64) x)
(/ (+ 1/2 (* 1/8 (/ 1 (pow x 2)))) x)
(/.f64 (+.f64 (/.f64 #s(literal 1/8 binary64) (*.f64 x x)) #s(literal 1/2 binary64)) x)
(* -1 (/ (- (* -1 (/ (+ 1/8 (* 1/16 (/ 1 (pow x 2)))) (pow x 2))) 1/2) x))
(-.f64 (/.f64 #s(literal 1/2 binary64) x) (/.f64 (-.f64 #s(literal -1/8 binary64) (/.f64 #s(literal 1/16 binary64) (*.f64 x x))) (pow.f64 x #s(literal 3 binary64))))
(* -1 (/ (- (* -1 (/ (+ 1/16 (* 5/128 (/ 1 (pow x 2)))) (pow x 4))) (+ 1/2 (* 1/8 (/ 1 (pow x 2))))) x))
(-.f64 (-.f64 (/.f64 (+.f64 (/.f64 #s(literal 5/128 binary64) (*.f64 x x)) #s(literal 1/16 binary64)) (pow.f64 x #s(literal 5 binary64))) (/.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 3 binary64)))) (/.f64 #s(literal -1/2 binary64) x))
(* -1 x)
(neg.f64 x)
(* -1 (* x (- 1 (* 1/2 (/ 1 (pow x 2))))))
(-.f64 (/.f64 #s(literal 1/2 binary64) x) x)
(* -1 (* x (+ 1 (* -1 (/ (+ 1/2 (* 1/8 (/ 1 (pow x 2)))) (pow x 2))))))
(-.f64 (/.f64 (+.f64 (/.f64 #s(literal 1/8 binary64) (*.f64 x x)) #s(literal 1/2 binary64)) x) x)
(* -1 (* x (- (+ 1 (* -1 (/ (+ 1/8 (* 1/16 (/ 1 (pow x 2)))) (pow x 4)))) (* 1/2 (/ 1 (pow x 2))))))
(fma.f64 (/.f64 (+.f64 (/.f64 #s(literal 1/16 binary64) (*.f64 x x)) #s(literal 1/8 binary64)) (pow.f64 x #s(literal 4 binary64))) x (-.f64 (/.f64 #s(literal 1/2 binary64) 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))

rewrite160.0ms (2.7%)

Memory
21.1MiB live, 180.5MiB allocated
Rules
9 770×lower-fma.f32
9 766×lower-fma.f64
4 532×lower-*.f32
4 530×lower-*.f64
3 624×lower-/.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
025116
037109
1135109
2873109
08615109
Stop Event
iter limit
node limit
iter limit
Counts
15 → 416
Calls
Call 1
Inputs
#s(approx (log (+ x (sqrt (- (* x x) 1)))) (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64))))
(+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64)))
(log.f64 x)
(log.f64 #s(literal 2 binary64))
(log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x)))
#s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x))
(*.f64 #s(literal 2 binary64) x)
(log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x))))
#s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x)))
(fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x))
(/.f64 #s(literal -1/2 binary64) x)
(log.f64 (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x))
(+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x)
(sqrt.f64 (fma.f64 x x #s(literal -1 binary64)))
(fma.f64 x 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>

eval173.0ms (2.9%)

Memory
-15.7MiB live, 141.9MiB allocated
Compiler

Compiled 11 253 to 2 045 computations (81.8% saved)

prune52.0ms (0.9%)

Memory
1.3MiB live, 39.0MiB allocated
Pruning

5 alts after pruning (1 fresh and 4 done)

PrunedKeptTotal
New5821583
Fresh000
Picked044
Done000
Total5825587
Accuracy
100.0%
Counts
587 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
53.8%
(log.f64 (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x))
99.1%
(log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x))))
98.6%
(log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x)))
98.1%
#s(approx (log (+ x (sqrt (- (* x x) 1)))) (/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64)))))))
98.8%
#s(approx (log (+ x (sqrt (- (* x x) 1)))) (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64))))
Compiler

Compiled 50 to 39 computations (22% saved)

simplify384.0ms (6.5%)

Memory
-14.2MiB live, 232.6MiB allocated
Algorithm
egg-herbie
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64))
cost-diff0
(+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64)))
cost-diff0
(/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64))))))
cost-diff0
#s(approx (log (+ x (sqrt (- (* x x) 1)))) (/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64)))))))
Rules
27 860×lower-fma.f32
27 858×lower-fma.f64
4 070×lower-*.f32
4 066×lower-*.f64
2 928×lower-+.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
021105
032105
150105
254105
369105
4100105
5161105
6325105
7604105
82137105
93269105
104578105
115300105
125636105
135825105
145927105
156246105
166792105
177903105
08139104
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
#s(approx (log (+ x (sqrt (- (* x x) 1)))) (/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64)))))))
(/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64))))))
(+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64)))
(pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64))
(log.f64 #s(literal 2 binary64))
#s(literal 2 binary64)
#s(literal 3 binary64)
(pow.f64 (log.f64 x) #s(literal 3 binary64))
(log.f64 x)
x
(fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64)))))
(*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64))))
(log.f64 (*.f64 x #s(literal 1/2 binary64)))
(*.f64 x #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
Outputs
#s(approx (log (+ x (sqrt (- (* x x) 1)))) (/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64)))))))
#s(approx (log (+ x (sqrt (- (* x x) 1)))) (/.f64 (+.f64 (pow.f64 (log.f64 x) #s(literal 3 binary64)) (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 (*.f64 #s(literal 1/2 binary64) x)) (log.f64 x)))))
(/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64))))))
(/.f64 (+.f64 (pow.f64 (log.f64 x) #s(literal 3 binary64)) (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 (*.f64 #s(literal 1/2 binary64) x)) (log.f64 x))))
(+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64)))
(+.f64 (pow.f64 (log.f64 x) #s(literal 3 binary64)) (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)))
(pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64))
(log.f64 #s(literal 2 binary64))
#s(literal 2 binary64)
#s(literal 3 binary64)
(pow.f64 (log.f64 x) #s(literal 3 binary64))
(log.f64 x)
x
(fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64)))))
(fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 (*.f64 #s(literal 1/2 binary64) x)) (log.f64 x)))
(*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64))))
(*.f64 (log.f64 (*.f64 #s(literal 1/2 binary64) x)) (log.f64 x))
(log.f64 (*.f64 x #s(literal 1/2 binary64)))
(log.f64 (*.f64 #s(literal 1/2 binary64) x))
(*.f64 x #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) x)
#s(literal 1/2 binary64)

localize66.0ms (1.1%)

Memory
25.7MiB live, 64.8MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.39453125
(*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64))))
accuracy0.6441075680351724
#s(approx (log (+ x (sqrt (- (* x x) 1)))) (/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64)))))))
accuracy0.7228089844426087
(pow.f64 (log.f64 x) #s(literal 3 binary64))
accuracy1.0
(pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64))
Samples
40.0ms256×0valid
Compiler

Compiled 86 to 23 computations (73.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 31.0ms
ival-log: 11.0ms (35.3% of total)
ival-mult: 6.0ms (19.3% of total)
ival-pow: 5.0ms (16.1% of total)
ival-add: 3.0ms (9.6% of total)
ival-sqrt: 2.0ms (6.4% of total)
ival-div: 1.0ms (3.2% of total)
ival-sub: 1.0ms (3.2% of total)
exact: 1.0ms (3.2% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series187.0ms (3.2%)

Memory
-5.4MiB live, 115.4MiB allocated
Counts
6 → 60
Calls
Call 1
Inputs
#s(alt #s(approx (log (+ x (sqrt (- (* x x) 1)))) (/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64))))))) (patch #s(approx (log (+ x (sqrt (- (* x x) 1)))) (/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64))))))) #<representation binary64>) () ())
#s(alt (/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64)))))) (patch (/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64)))))) #<representation binary64>) () ())
#s(alt (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (patch (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) #<representation binary64>) () ())
#s(alt (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (patch (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) #<representation binary64>) () ())
#s(alt (pow.f64 (log.f64 x) #s(literal 3 binary64)) (patch (pow.f64 (log.f64 x) #s(literal 3 binary64)) #<representation binary64>) () ())
#s(alt (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64)))) (patch (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64)))) #<representation binary64>) () ())
Outputs
#s(alt (log (sqrt -1)) (taylor 0 x) (#s(alt #s(approx (log (+ x (sqrt (- (* x x) 1)))) (/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64))))))) (patch #s(approx (log (+ x (sqrt (- (* x x) 1)))) (/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64))))))) #<representation binary64>) () ())) ())
#s(alt (+ (log (sqrt -1)) (/ x (sqrt -1))) (taylor 0 x) (#s(alt #s(approx (log (+ x (sqrt (- (* x x) 1)))) (/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64))))))) (patch #s(approx (log (+ x (sqrt (- (* x x) 1)))) (/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64))))))) #<representation binary64>) () ())) ())
#s(alt (+ (log (sqrt -1)) (* x (+ (* -1/6 (/ (pow x 2) (pow (sqrt -1) 3))) (/ 1 (sqrt -1))))) (taylor 0 x) (#s(alt #s(approx (log (+ x (sqrt (- (* x x) 1)))) (/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64))))))) (patch #s(approx (log (+ x (sqrt (- (* x x) 1)))) (/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64))))))) #<representation binary64>) () ())) ())
#s(alt (+ (log (sqrt -1)) (* x (+ (* (pow x 2) (- (* 3/40 (/ (pow x 2) (pow (sqrt -1) 5))) (* 1/6 (/ 1 (pow (sqrt -1) 3))))) (/ 1 (sqrt -1))))) (taylor 0 x) (#s(alt #s(approx (log (+ x (sqrt (- (* x x) 1)))) (/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64))))))) (patch #s(approx (log (+ x (sqrt (- (* x x) 1)))) (/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64))))))) #<representation binary64>) () ())) ())
#s(alt (/ (+ (pow (log 2) 3) (pow (log x) 3)) (+ (* (log x) (+ (log 1/2) (log x))) (pow (log 2) 2))) (taylor 0 x) (#s(alt (/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64)))))) (patch (/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64)))))) #<representation binary64>) () ())) ())
#s(alt (/ (+ (pow (log 2) 3) (pow (log x) 3)) (+ (* (log x) (+ (log 1/2) (log x))) (pow (log 2) 2))) (taylor 0 x) (#s(alt (/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64)))))) (patch (/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64)))))) #<representation binary64>) () ())) ())
#s(alt (/ (+ (pow (log 2) 3) (pow (log x) 3)) (+ (* (log x) (+ (log 1/2) (log x))) (pow (log 2) 2))) (taylor 0 x) (#s(alt (/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64)))))) (patch (/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64)))))) #<representation binary64>) () ())) ())
#s(alt (/ (+ (pow (log 2) 3) (pow (log x) 3)) (+ (* (log x) (+ (log 1/2) (log x))) (pow (log 2) 2))) (taylor 0 x) (#s(alt (/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64)))))) (patch (/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64)))))) #<representation binary64>) () ())) ())
#s(alt (+ (pow (log 2) 3) (pow (log x) 3)) (taylor 0 x) (#s(alt (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (patch (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (pow (log 2) 3) (pow (log x) 3)) (taylor 0 x) (#s(alt (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (patch (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (pow (log 2) 3) (pow (log x) 3)) (taylor 0 x) (#s(alt (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (patch (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (pow (log 2) 3) (pow (log x) 3)) (taylor 0 x) (#s(alt (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (patch (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt (pow (log x) 3) (taylor 0 x) (#s(alt (pow.f64 (log.f64 x) #s(literal 3 binary64)) (patch (pow.f64 (log.f64 x) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow (log x) 3) (taylor 0 x) (#s(alt (pow.f64 (log.f64 x) #s(literal 3 binary64)) (patch (pow.f64 (log.f64 x) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow (log x) 3) (taylor 0 x) (#s(alt (pow.f64 (log.f64 x) #s(literal 3 binary64)) (patch (pow.f64 (log.f64 x) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow (log x) 3) (taylor 0 x) (#s(alt (pow.f64 (log.f64 x) #s(literal 3 binary64)) (patch (pow.f64 (log.f64 x) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (log x) (+ (log 1/2) (log x))) (taylor 0 x) (#s(alt (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64)))) (patch (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* (log x) (+ (log 1/2) (log x))) (taylor 0 x) (#s(alt (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64)))) (patch (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* (log x) (+ (log 1/2) (log x))) (taylor 0 x) (#s(alt (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64)))) (patch (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* (log x) (+ (log 1/2) (log x))) (taylor 0 x) (#s(alt (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64)))) (patch (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (+ (log 2) (* -1 (log (/ 1 x)))) (taylor inf x) (#s(alt #s(approx (log (+ x (sqrt (- (* x x) 1)))) (/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64))))))) (patch #s(approx (log (+ x (sqrt (- (* x x) 1)))) (/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64))))))) #<representation binary64>) () ())) ())
#s(alt (- (+ (log 2) (* -1 (log (/ 1 x)))) (* 1/4 (/ 1 (pow x 2)))) (taylor inf x) (#s(alt #s(approx (log (+ x (sqrt (- (* x x) 1)))) (/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64))))))) (patch #s(approx (log (+ x (sqrt (- (* x x) 1)))) (/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64))))))) #<representation binary64>) () ())) ())
#s(alt (+ (log 2) (+ (* -1 (log (/ 1 x))) (* -1 (/ (+ 1/4 (* 3/32 (/ 1 (pow x 2)))) (pow x 2))))) (taylor inf x) (#s(alt #s(approx (log (+ x (sqrt (- (* x x) 1)))) (/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64))))))) (patch #s(approx (log (+ x (sqrt (- (* x x) 1)))) (/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64))))))) #<representation binary64>) () ())) ())
#s(alt (- (+ (log 2) (+ (* -1 (log (/ 1 x))) (* -1 (/ (+ 3/32 (* 5/96 (/ 1 (pow x 2)))) (pow x 4))))) (* 1/4 (/ 1 (pow x 2)))) (taylor inf x) (#s(alt #s(approx (log (+ x (sqrt (- (* x x) 1)))) (/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64))))))) (patch #s(approx (log (+ x (sqrt (- (* x x) 1)))) (/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64))))))) #<representation binary64>) () ())) ())
#s(alt (/ (+ (* -1 (pow (log (/ 1 x)) 3)) (pow (log 2) 3)) (+ (* -1 (* (log (/ 1 x)) (+ (log 1/2) (* -1 (log (/ 1 x)))))) (pow (log 2) 2))) (taylor inf x) (#s(alt (/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64)))))) (patch (/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64)))))) #<representation binary64>) () ())) ())
#s(alt (/ (+ (* -1 (pow (log (/ 1 x)) 3)) (pow (log 2) 3)) (+ (* -1 (* (log (/ 1 x)) (+ (log 1/2) (* -1 (log (/ 1 x)))))) (pow (log 2) 2))) (taylor inf x) (#s(alt (/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64)))))) (patch (/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64)))))) #<representation binary64>) () ())) ())
#s(alt (/ (+ (* -1 (pow (log (/ 1 x)) 3)) (pow (log 2) 3)) (+ (* -1 (* (log (/ 1 x)) (+ (log 1/2) (* -1 (log (/ 1 x)))))) (pow (log 2) 2))) (taylor inf x) (#s(alt (/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64)))))) (patch (/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64)))))) #<representation binary64>) () ())) ())
#s(alt (/ (+ (* -1 (pow (log (/ 1 x)) 3)) (pow (log 2) 3)) (+ (* -1 (* (log (/ 1 x)) (+ (log 1/2) (* -1 (log (/ 1 x)))))) (pow (log 2) 2))) (taylor inf x) (#s(alt (/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64)))))) (patch (/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64)))))) #<representation binary64>) () ())) ())
#s(alt (+ (* -1 (pow (log (/ 1 x)) 3)) (pow (log 2) 3)) (taylor inf x) (#s(alt (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (patch (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (* -1 (pow (log (/ 1 x)) 3)) (pow (log 2) 3)) (taylor inf x) (#s(alt (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (patch (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (* -1 (pow (log (/ 1 x)) 3)) (pow (log 2) 3)) (taylor inf x) (#s(alt (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (patch (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (* -1 (pow (log (/ 1 x)) 3)) (pow (log 2) 3)) (taylor inf x) (#s(alt (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (patch (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (pow (log (/ 1 x)) 3)) (taylor inf x) (#s(alt (pow.f64 (log.f64 x) #s(literal 3 binary64)) (patch (pow.f64 (log.f64 x) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (pow (log (/ 1 x)) 3)) (taylor inf x) (#s(alt (pow.f64 (log.f64 x) #s(literal 3 binary64)) (patch (pow.f64 (log.f64 x) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (pow (log (/ 1 x)) 3)) (taylor inf x) (#s(alt (pow.f64 (log.f64 x) #s(literal 3 binary64)) (patch (pow.f64 (log.f64 x) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (pow (log (/ 1 x)) 3)) (taylor inf x) (#s(alt (pow.f64 (log.f64 x) #s(literal 3 binary64)) (patch (pow.f64 (log.f64 x) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (log (/ 1 x)) (+ (log 1/2) (* -1 (log (/ 1 x)))))) (taylor inf x) (#s(alt (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64)))) (patch (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (log (/ 1 x)) (+ (log 1/2) (* -1 (log (/ 1 x)))))) (taylor inf x) (#s(alt (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64)))) (patch (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (log (/ 1 x)) (+ (log 1/2) (* -1 (log (/ 1 x)))))) (taylor inf x) (#s(alt (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64)))) (patch (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (log (/ 1 x)) (+ (log 1/2) (* -1 (log (/ 1 x)))))) (taylor inf x) (#s(alt (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64)))) (patch (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (+ (log -1/2) (log (/ -1 x))) (taylor -inf x) (#s(alt #s(approx (log (+ x (sqrt (- (* x x) 1)))) (/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64))))))) (patch #s(approx (log (+ x (sqrt (- (* x x) 1)))) (/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64))))))) #<representation binary64>) () ())) ())
#s(alt (+ (log -1/2) (+ (log (/ -1 x)) (* 1/4 (/ 1 (pow x 2))))) (taylor -inf x) (#s(alt #s(approx (log (+ x (sqrt (- (* x x) 1)))) (/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64))))))) (patch #s(approx (log (+ x (sqrt (- (* x x) 1)))) (/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64))))))) #<representation binary64>) () ())) ())
#s(alt (+ (log -1/2) (+ (log (/ -1 x)) (+ (/ 3/32 (pow x 4)) (* 1/4 (/ 1 (pow x 2)))))) (taylor -inf x) (#s(alt #s(approx (log (+ x (sqrt (- (* x x) 1)))) (/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64))))))) (patch #s(approx (log (+ x (sqrt (- (* x x) 1)))) (/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64))))))) #<representation binary64>) () ())) ())
#s(alt (+ (log -1/2) (+ (log (/ -1 x)) (+ (/ 3/32 (pow x 4)) (+ (* 1/4 (/ 1 (pow x 2))) (* 5/96 (/ 1 (pow x 6))))))) (taylor -inf x) (#s(alt #s(approx (log (+ x (sqrt (- (* x x) 1)))) (/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64))))))) (patch #s(approx (log (+ x (sqrt (- (* x x) 1)))) (/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64))))))) #<representation binary64>) () ())) ())
#s(alt (/ (+ (pow (log 2) 3) (pow (+ (log -1) (* -1 (log (/ -1 x)))) 3)) (+ (* (+ (log -1) (* -1 (log (/ -1 x)))) (+ (log -1/2) (* -1 (log (/ -1 x))))) (pow (log 2) 2))) (taylor -inf x) (#s(alt (/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64)))))) (patch (/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64)))))) #<representation binary64>) () ())) ())
#s(alt (/ (+ (pow (log 2) 3) (pow (+ (log -1) (* -1 (log (/ -1 x)))) 3)) (+ (* (+ (log -1) (* -1 (log (/ -1 x)))) (+ (log -1/2) (* -1 (log (/ -1 x))))) (pow (log 2) 2))) (taylor -inf x) (#s(alt (/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64)))))) (patch (/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64)))))) #<representation binary64>) () ())) ())
#s(alt (/ (+ (pow (log 2) 3) (pow (+ (log -1) (* -1 (log (/ -1 x)))) 3)) (+ (* (+ (log -1) (* -1 (log (/ -1 x)))) (+ (log -1/2) (* -1 (log (/ -1 x))))) (pow (log 2) 2))) (taylor -inf x) (#s(alt (/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64)))))) (patch (/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64)))))) #<representation binary64>) () ())) ())
#s(alt (/ (+ (pow (log 2) 3) (pow (+ (log -1) (* -1 (log (/ -1 x)))) 3)) (+ (* (+ (log -1) (* -1 (log (/ -1 x)))) (+ (log -1/2) (* -1 (log (/ -1 x))))) (pow (log 2) 2))) (taylor -inf x) (#s(alt (/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64)))))) (patch (/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64)))))) #<representation binary64>) () ())) ())
#s(alt (+ (pow (log 2) 3) (pow (+ (log -1) (* -1 (log (/ -1 x)))) 3)) (taylor -inf x) (#s(alt (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (patch (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (pow (log 2) 3) (pow (+ (log -1) (* -1 (log (/ -1 x)))) 3)) (taylor -inf x) (#s(alt (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (patch (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (pow (log 2) 3) (pow (+ (log -1) (* -1 (log (/ -1 x)))) 3)) (taylor -inf x) (#s(alt (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (patch (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (pow (log 2) 3) (pow (+ (log -1) (* -1 (log (/ -1 x)))) 3)) (taylor -inf x) (#s(alt (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (patch (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt (pow (+ (log -1) (* -1 (log (/ -1 x)))) 3) (taylor -inf x) (#s(alt (pow.f64 (log.f64 x) #s(literal 3 binary64)) (patch (pow.f64 (log.f64 x) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow (+ (log -1) (* -1 (log (/ -1 x)))) 3) (taylor -inf x) (#s(alt (pow.f64 (log.f64 x) #s(literal 3 binary64)) (patch (pow.f64 (log.f64 x) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow (+ (log -1) (* -1 (log (/ -1 x)))) 3) (taylor -inf x) (#s(alt (pow.f64 (log.f64 x) #s(literal 3 binary64)) (patch (pow.f64 (log.f64 x) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow (+ (log -1) (* -1 (log (/ -1 x)))) 3) (taylor -inf x) (#s(alt (pow.f64 (log.f64 x) #s(literal 3 binary64)) (patch (pow.f64 (log.f64 x) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (+ (log -1) (* -1 (log (/ -1 x)))) (+ (log -1/2) (* -1 (log (/ -1 x))))) (taylor -inf x) (#s(alt (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64)))) (patch (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* (+ (log -1) (* -1 (log (/ -1 x)))) (+ (log -1/2) (* -1 (log (/ -1 x))))) (taylor -inf x) (#s(alt (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64)))) (patch (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* (+ (log -1) (* -1 (log (/ -1 x)))) (+ (log -1/2) (* -1 (log (/ -1 x))))) (taylor -inf x) (#s(alt (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64)))) (patch (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* (+ (log -1) (* -1 (log (/ -1 x)))) (+ (log -1/2) (* -1 (log (/ -1 x))))) (taylor -inf x) (#s(alt (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64)))) (patch (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
Calls

3 calls:

TimeVariablePointExpression
100.0ms
x
@0
((log (+ x (sqrt (- (* x x) 1)))) (/ (+ (pow (log 2) 3) (pow (log x) 3)) (+ (* (log 2) (log 2)) (* (log x) (log (* x 1/2))))) (+ (pow (log 2) 3) (pow (log x) 3)) (pow (log 2) 3) (pow (log x) 3) (* (log x) (log (* x 1/2))))
63.0ms
x
@-inf
((log (+ x (sqrt (- (* x x) 1)))) (/ (+ (pow (log 2) 3) (pow (log x) 3)) (+ (* (log 2) (log 2)) (* (log x) (log (* x 1/2))))) (+ (pow (log 2) 3) (pow (log x) 3)) (pow (log 2) 3) (pow (log x) 3) (* (log x) (log (* x 1/2))))
22.0ms
x
@inf
((log (+ x (sqrt (- (* x x) 1)))) (/ (+ (pow (log 2) 3) (pow (log x) 3)) (+ (* (log 2) (log 2)) (* (log x) (log (* x 1/2))))) (+ (pow (log 2) 3) (pow (log x) 3)) (pow (log 2) 3) (pow (log x) 3) (* (log x) (log (* x 1/2))))

simplify169.0ms (2.9%)

Memory
-22.4MiB live, 131.4MiB allocated
Algorithm
egg-herbie
Rules
11 238×lower-fma.f64
11 238×lower-fma.f32
3 244×lower-*.f64
3 244×lower-*.f32
3 134×lower-+.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0104866
1254824
2704821
31773819
44524819
08213803
Stop Event
iter limit
node limit
Counts
60 → 60
Calls
Call 1
Inputs
(log (sqrt -1))
(+ (log (sqrt -1)) (/ x (sqrt -1)))
(+ (log (sqrt -1)) (* x (+ (* -1/6 (/ (pow x 2) (pow (sqrt -1) 3))) (/ 1 (sqrt -1)))))
(+ (log (sqrt -1)) (* x (+ (* (pow x 2) (- (* 3/40 (/ (pow x 2) (pow (sqrt -1) 5))) (* 1/6 (/ 1 (pow (sqrt -1) 3))))) (/ 1 (sqrt -1)))))
(/ (+ (pow (log 2) 3) (pow (log x) 3)) (+ (* (log x) (+ (log 1/2) (log x))) (pow (log 2) 2)))
(/ (+ (pow (log 2) 3) (pow (log x) 3)) (+ (* (log x) (+ (log 1/2) (log x))) (pow (log 2) 2)))
(/ (+ (pow (log 2) 3) (pow (log x) 3)) (+ (* (log x) (+ (log 1/2) (log x))) (pow (log 2) 2)))
(/ (+ (pow (log 2) 3) (pow (log x) 3)) (+ (* (log x) (+ (log 1/2) (log x))) (pow (log 2) 2)))
(+ (pow (log 2) 3) (pow (log x) 3))
(+ (pow (log 2) 3) (pow (log x) 3))
(+ (pow (log 2) 3) (pow (log x) 3))
(+ (pow (log 2) 3) (pow (log x) 3))
(pow (log x) 3)
(pow (log x) 3)
(pow (log x) 3)
(pow (log x) 3)
(* (log x) (+ (log 1/2) (log x)))
(* (log x) (+ (log 1/2) (log x)))
(* (log x) (+ (log 1/2) (log x)))
(* (log x) (+ (log 1/2) (log x)))
(+ (log 2) (* -1 (log (/ 1 x))))
(- (+ (log 2) (* -1 (log (/ 1 x)))) (* 1/4 (/ 1 (pow x 2))))
(+ (log 2) (+ (* -1 (log (/ 1 x))) (* -1 (/ (+ 1/4 (* 3/32 (/ 1 (pow x 2)))) (pow x 2)))))
(- (+ (log 2) (+ (* -1 (log (/ 1 x))) (* -1 (/ (+ 3/32 (* 5/96 (/ 1 (pow x 2)))) (pow x 4))))) (* 1/4 (/ 1 (pow x 2))))
(/ (+ (* -1 (pow (log (/ 1 x)) 3)) (pow (log 2) 3)) (+ (* -1 (* (log (/ 1 x)) (+ (log 1/2) (* -1 (log (/ 1 x)))))) (pow (log 2) 2)))
(/ (+ (* -1 (pow (log (/ 1 x)) 3)) (pow (log 2) 3)) (+ (* -1 (* (log (/ 1 x)) (+ (log 1/2) (* -1 (log (/ 1 x)))))) (pow (log 2) 2)))
(/ (+ (* -1 (pow (log (/ 1 x)) 3)) (pow (log 2) 3)) (+ (* -1 (* (log (/ 1 x)) (+ (log 1/2) (* -1 (log (/ 1 x)))))) (pow (log 2) 2)))
(/ (+ (* -1 (pow (log (/ 1 x)) 3)) (pow (log 2) 3)) (+ (* -1 (* (log (/ 1 x)) (+ (log 1/2) (* -1 (log (/ 1 x)))))) (pow (log 2) 2)))
(+ (* -1 (pow (log (/ 1 x)) 3)) (pow (log 2) 3))
(+ (* -1 (pow (log (/ 1 x)) 3)) (pow (log 2) 3))
(+ (* -1 (pow (log (/ 1 x)) 3)) (pow (log 2) 3))
(+ (* -1 (pow (log (/ 1 x)) 3)) (pow (log 2) 3))
(* -1 (pow (log (/ 1 x)) 3))
(* -1 (pow (log (/ 1 x)) 3))
(* -1 (pow (log (/ 1 x)) 3))
(* -1 (pow (log (/ 1 x)) 3))
(* -1 (* (log (/ 1 x)) (+ (log 1/2) (* -1 (log (/ 1 x))))))
(* -1 (* (log (/ 1 x)) (+ (log 1/2) (* -1 (log (/ 1 x))))))
(* -1 (* (log (/ 1 x)) (+ (log 1/2) (* -1 (log (/ 1 x))))))
(* -1 (* (log (/ 1 x)) (+ (log 1/2) (* -1 (log (/ 1 x))))))
(+ (log -1/2) (log (/ -1 x)))
(+ (log -1/2) (+ (log (/ -1 x)) (* 1/4 (/ 1 (pow x 2)))))
(+ (log -1/2) (+ (log (/ -1 x)) (+ (/ 3/32 (pow x 4)) (* 1/4 (/ 1 (pow x 2))))))
(+ (log -1/2) (+ (log (/ -1 x)) (+ (/ 3/32 (pow x 4)) (+ (* 1/4 (/ 1 (pow x 2))) (* 5/96 (/ 1 (pow x 6)))))))
(/ (+ (pow (log 2) 3) (pow (+ (log -1) (* -1 (log (/ -1 x)))) 3)) (+ (* (+ (log -1) (* -1 (log (/ -1 x)))) (+ (log -1/2) (* -1 (log (/ -1 x))))) (pow (log 2) 2)))
(/ (+ (pow (log 2) 3) (pow (+ (log -1) (* -1 (log (/ -1 x)))) 3)) (+ (* (+ (log -1) (* -1 (log (/ -1 x)))) (+ (log -1/2) (* -1 (log (/ -1 x))))) (pow (log 2) 2)))
(/ (+ (pow (log 2) 3) (pow (+ (log -1) (* -1 (log (/ -1 x)))) 3)) (+ (* (+ (log -1) (* -1 (log (/ -1 x)))) (+ (log -1/2) (* -1 (log (/ -1 x))))) (pow (log 2) 2)))
(/ (+ (pow (log 2) 3) (pow (+ (log -1) (* -1 (log (/ -1 x)))) 3)) (+ (* (+ (log -1) (* -1 (log (/ -1 x)))) (+ (log -1/2) (* -1 (log (/ -1 x))))) (pow (log 2) 2)))
(+ (pow (log 2) 3) (pow (+ (log -1) (* -1 (log (/ -1 x)))) 3))
(+ (pow (log 2) 3) (pow (+ (log -1) (* -1 (log (/ -1 x)))) 3))
(+ (pow (log 2) 3) (pow (+ (log -1) (* -1 (log (/ -1 x)))) 3))
(+ (pow (log 2) 3) (pow (+ (log -1) (* -1 (log (/ -1 x)))) 3))
(pow (+ (log -1) (* -1 (log (/ -1 x)))) 3)
(pow (+ (log -1) (* -1 (log (/ -1 x)))) 3)
(pow (+ (log -1) (* -1 (log (/ -1 x)))) 3)
(pow (+ (log -1) (* -1 (log (/ -1 x)))) 3)
(* (+ (log -1) (* -1 (log (/ -1 x)))) (+ (log -1/2) (* -1 (log (/ -1 x)))))
(* (+ (log -1) (* -1 (log (/ -1 x)))) (+ (log -1/2) (* -1 (log (/ -1 x)))))
(* (+ (log -1) (* -1 (log (/ -1 x)))) (+ (log -1/2) (* -1 (log (/ -1 x)))))
(* (+ (log -1) (* -1 (log (/ -1 x)))) (+ (log -1/2) (* -1 (log (/ -1 x)))))
Outputs
(log (sqrt -1))
(log.f64 (sqrt.f64 #s(literal -1 binary64)))
(+ (log (sqrt -1)) (/ x (sqrt -1)))
(+.f64 (/.f64 x (sqrt.f64 #s(literal -1 binary64))) (log.f64 (sqrt.f64 #s(literal -1 binary64))))
(+ (log (sqrt -1)) (* x (+ (* -1/6 (/ (pow x 2) (pow (sqrt -1) 3))) (/ 1 (sqrt -1)))))
(fma.f64 (fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal 1 binary64)) (/.f64 x (sqrt.f64 #s(literal -1 binary64))) (log.f64 (sqrt.f64 #s(literal -1 binary64))))
(+ (log (sqrt -1)) (* x (+ (* (pow x 2) (- (* 3/40 (/ (pow x 2) (pow (sqrt -1) 5))) (* 1/6 (/ 1 (pow (sqrt -1) 3))))) (/ 1 (sqrt -1)))))
(fma.f64 (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 3/40 binary64)) (/.f64 x (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 5 binary64))) (fma.f64 (fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal 1 binary64)) (/.f64 x (sqrt.f64 #s(literal -1 binary64))) (log.f64 (sqrt.f64 #s(literal -1 binary64)))))
(/ (+ (pow (log 2) 3) (pow (log x) 3)) (+ (* (log x) (+ (log 1/2) (log x))) (pow (log 2) 2)))
(/.f64 (+.f64 (pow.f64 (log.f64 x) #s(literal 3 binary64)) (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64))) (fma.f64 (+.f64 (log.f64 x) (log.f64 #s(literal 1/2 binary64))) (log.f64 x) (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 2 binary64))))
(/ (+ (pow (log 2) 3) (pow (log x) 3)) (+ (* (log x) (+ (log 1/2) (log x))) (pow (log 2) 2)))
(/.f64 (+.f64 (pow.f64 (log.f64 x) #s(literal 3 binary64)) (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64))) (fma.f64 (+.f64 (log.f64 x) (log.f64 #s(literal 1/2 binary64))) (log.f64 x) (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 2 binary64))))
(/ (+ (pow (log 2) 3) (pow (log x) 3)) (+ (* (log x) (+ (log 1/2) (log x))) (pow (log 2) 2)))
(/.f64 (+.f64 (pow.f64 (log.f64 x) #s(literal 3 binary64)) (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64))) (fma.f64 (+.f64 (log.f64 x) (log.f64 #s(literal 1/2 binary64))) (log.f64 x) (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 2 binary64))))
(/ (+ (pow (log 2) 3) (pow (log x) 3)) (+ (* (log x) (+ (log 1/2) (log x))) (pow (log 2) 2)))
(/.f64 (+.f64 (pow.f64 (log.f64 x) #s(literal 3 binary64)) (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64))) (fma.f64 (+.f64 (log.f64 x) (log.f64 #s(literal 1/2 binary64))) (log.f64 x) (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 2 binary64))))
(+ (pow (log 2) 3) (pow (log x) 3))
(+.f64 (pow.f64 (log.f64 x) #s(literal 3 binary64)) (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)))
(+ (pow (log 2) 3) (pow (log x) 3))
(+.f64 (pow.f64 (log.f64 x) #s(literal 3 binary64)) (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)))
(+ (pow (log 2) 3) (pow (log x) 3))
(+.f64 (pow.f64 (log.f64 x) #s(literal 3 binary64)) (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)))
(+ (pow (log 2) 3) (pow (log x) 3))
(+.f64 (pow.f64 (log.f64 x) #s(literal 3 binary64)) (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)))
(pow (log x) 3)
(pow.f64 (log.f64 x) #s(literal 3 binary64))
(pow (log x) 3)
(pow.f64 (log.f64 x) #s(literal 3 binary64))
(pow (log x) 3)
(pow.f64 (log.f64 x) #s(literal 3 binary64))
(pow (log x) 3)
(pow.f64 (log.f64 x) #s(literal 3 binary64))
(* (log x) (+ (log 1/2) (log x)))
(*.f64 (+.f64 (log.f64 x) (log.f64 #s(literal 1/2 binary64))) (log.f64 x))
(* (log x) (+ (log 1/2) (log x)))
(*.f64 (+.f64 (log.f64 x) (log.f64 #s(literal 1/2 binary64))) (log.f64 x))
(* (log x) (+ (log 1/2) (log x)))
(*.f64 (+.f64 (log.f64 x) (log.f64 #s(literal 1/2 binary64))) (log.f64 x))
(* (log x) (+ (log 1/2) (log x)))
(*.f64 (+.f64 (log.f64 x) (log.f64 #s(literal 1/2 binary64))) (log.f64 x))
(+ (log 2) (* -1 (log (/ 1 x))))
(+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64)))
(- (+ (log 2) (* -1 (log (/ 1 x)))) (* 1/4 (/ 1 (pow x 2))))
(-.f64 (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64))) (/.f64 #s(literal 1/4 binary64) (*.f64 x x)))
(+ (log 2) (+ (* -1 (log (/ 1 x))) (* -1 (/ (+ 1/4 (* 3/32 (/ 1 (pow x 2)))) (pow x 2)))))
(-.f64 (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64))) (/.f64 (/.f64 (+.f64 (/.f64 #s(literal 3/32 binary64) (*.f64 x x)) #s(literal 1/4 binary64)) x) x))
(- (+ (log 2) (+ (* -1 (log (/ 1 x))) (* -1 (/ (+ 3/32 (* 5/96 (/ 1 (pow x 2)))) (pow x 4))))) (* 1/4 (/ 1 (pow x 2))))
(-.f64 (-.f64 (log.f64 #s(literal 2 binary64)) (/.f64 #s(literal 1/4 binary64) (*.f64 x x))) (-.f64 (/.f64 (+.f64 (/.f64 #s(literal 5/96 binary64) (*.f64 x x)) #s(literal 3/32 binary64)) (pow.f64 x #s(literal 4 binary64))) (log.f64 x)))
(/ (+ (* -1 (pow (log (/ 1 x)) 3)) (pow (log 2) 3)) (+ (* -1 (* (log (/ 1 x)) (+ (log 1/2) (* -1 (log (/ 1 x)))))) (pow (log 2) 2)))
(/.f64 (+.f64 (pow.f64 (log.f64 x) #s(literal 3 binary64)) (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64))) (fma.f64 (+.f64 (log.f64 x) (log.f64 #s(literal 1/2 binary64))) (log.f64 x) (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 2 binary64))))
(/ (+ (* -1 (pow (log (/ 1 x)) 3)) (pow (log 2) 3)) (+ (* -1 (* (log (/ 1 x)) (+ (log 1/2) (* -1 (log (/ 1 x)))))) (pow (log 2) 2)))
(/.f64 (+.f64 (pow.f64 (log.f64 x) #s(literal 3 binary64)) (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64))) (fma.f64 (+.f64 (log.f64 x) (log.f64 #s(literal 1/2 binary64))) (log.f64 x) (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 2 binary64))))
(/ (+ (* -1 (pow (log (/ 1 x)) 3)) (pow (log 2) 3)) (+ (* -1 (* (log (/ 1 x)) (+ (log 1/2) (* -1 (log (/ 1 x)))))) (pow (log 2) 2)))
(/.f64 (+.f64 (pow.f64 (log.f64 x) #s(literal 3 binary64)) (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64))) (fma.f64 (+.f64 (log.f64 x) (log.f64 #s(literal 1/2 binary64))) (log.f64 x) (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 2 binary64))))
(/ (+ (* -1 (pow (log (/ 1 x)) 3)) (pow (log 2) 3)) (+ (* -1 (* (log (/ 1 x)) (+ (log 1/2) (* -1 (log (/ 1 x)))))) (pow (log 2) 2)))
(/.f64 (+.f64 (pow.f64 (log.f64 x) #s(literal 3 binary64)) (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64))) (fma.f64 (+.f64 (log.f64 x) (log.f64 #s(literal 1/2 binary64))) (log.f64 x) (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 2 binary64))))
(+ (* -1 (pow (log (/ 1 x)) 3)) (pow (log 2) 3))
(+.f64 (pow.f64 (log.f64 x) #s(literal 3 binary64)) (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)))
(+ (* -1 (pow (log (/ 1 x)) 3)) (pow (log 2) 3))
(+.f64 (pow.f64 (log.f64 x) #s(literal 3 binary64)) (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)))
(+ (* -1 (pow (log (/ 1 x)) 3)) (pow (log 2) 3))
(+.f64 (pow.f64 (log.f64 x) #s(literal 3 binary64)) (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)))
(+ (* -1 (pow (log (/ 1 x)) 3)) (pow (log 2) 3))
(+.f64 (pow.f64 (log.f64 x) #s(literal 3 binary64)) (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)))
(* -1 (pow (log (/ 1 x)) 3))
(pow.f64 (log.f64 x) #s(literal 3 binary64))
(* -1 (pow (log (/ 1 x)) 3))
(pow.f64 (log.f64 x) #s(literal 3 binary64))
(* -1 (pow (log (/ 1 x)) 3))
(pow.f64 (log.f64 x) #s(literal 3 binary64))
(* -1 (pow (log (/ 1 x)) 3))
(pow.f64 (log.f64 x) #s(literal 3 binary64))
(* -1 (* (log (/ 1 x)) (+ (log 1/2) (* -1 (log (/ 1 x))))))
(*.f64 (+.f64 (log.f64 x) (log.f64 #s(literal 1/2 binary64))) (log.f64 x))
(* -1 (* (log (/ 1 x)) (+ (log 1/2) (* -1 (log (/ 1 x))))))
(*.f64 (+.f64 (log.f64 x) (log.f64 #s(literal 1/2 binary64))) (log.f64 x))
(* -1 (* (log (/ 1 x)) (+ (log 1/2) (* -1 (log (/ 1 x))))))
(*.f64 (+.f64 (log.f64 x) (log.f64 #s(literal 1/2 binary64))) (log.f64 x))
(* -1 (* (log (/ 1 x)) (+ (log 1/2) (* -1 (log (/ 1 x))))))
(*.f64 (+.f64 (log.f64 x) (log.f64 #s(literal 1/2 binary64))) (log.f64 x))
(+ (log -1/2) (log (/ -1 x)))
(+.f64 (log.f64 (/.f64 #s(literal -1 binary64) x)) (log.f64 #s(literal -1/2 binary64)))
(+ (log -1/2) (+ (log (/ -1 x)) (* 1/4 (/ 1 (pow x 2)))))
(+.f64 (+.f64 (log.f64 (/.f64 #s(literal -1 binary64) x)) (/.f64 #s(literal 1/4 binary64) (*.f64 x x))) (log.f64 #s(literal -1/2 binary64)))
(+ (log -1/2) (+ (log (/ -1 x)) (+ (/ 3/32 (pow x 4)) (* 1/4 (/ 1 (pow x 2))))))
(+.f64 (+.f64 (+.f64 (/.f64 #s(literal 3/32 binary64) (pow.f64 x #s(literal 4 binary64))) (/.f64 #s(literal 1/4 binary64) (*.f64 x x))) (log.f64 (/.f64 #s(literal -1 binary64) x))) (log.f64 #s(literal -1/2 binary64)))
(+ (log -1/2) (+ (log (/ -1 x)) (+ (/ 3/32 (pow x 4)) (+ (* 1/4 (/ 1 (pow x 2))) (* 5/96 (/ 1 (pow x 6)))))))
(+.f64 (+.f64 (+.f64 (+.f64 (/.f64 #s(literal 5/96 binary64) (pow.f64 x #s(literal 6 binary64))) (/.f64 #s(literal 1/4 binary64) (*.f64 x x))) (/.f64 #s(literal 3/32 binary64) (pow.f64 x #s(literal 4 binary64)))) (log.f64 (/.f64 #s(literal -1 binary64) x))) (log.f64 #s(literal -1/2 binary64)))
(/ (+ (pow (log 2) 3) (pow (+ (log -1) (* -1 (log (/ -1 x)))) 3)) (+ (* (+ (log -1) (* -1 (log (/ -1 x)))) (+ (log -1/2) (* -1 (log (/ -1 x))))) (pow (log 2) 2)))
(/.f64 (+.f64 (pow.f64 (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) x))) #s(literal 3 binary64)) (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64))) (fma.f64 (-.f64 (log.f64 #s(literal -1/2 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) x))) (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) x))) (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 2 binary64))))
(/ (+ (pow (log 2) 3) (pow (+ (log -1) (* -1 (log (/ -1 x)))) 3)) (+ (* (+ (log -1) (* -1 (log (/ -1 x)))) (+ (log -1/2) (* -1 (log (/ -1 x))))) (pow (log 2) 2)))
(/.f64 (+.f64 (pow.f64 (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) x))) #s(literal 3 binary64)) (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64))) (fma.f64 (-.f64 (log.f64 #s(literal -1/2 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) x))) (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) x))) (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 2 binary64))))
(/ (+ (pow (log 2) 3) (pow (+ (log -1) (* -1 (log (/ -1 x)))) 3)) (+ (* (+ (log -1) (* -1 (log (/ -1 x)))) (+ (log -1/2) (* -1 (log (/ -1 x))))) (pow (log 2) 2)))
(/.f64 (+.f64 (pow.f64 (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) x))) #s(literal 3 binary64)) (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64))) (fma.f64 (-.f64 (log.f64 #s(literal -1/2 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) x))) (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) x))) (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 2 binary64))))
(/ (+ (pow (log 2) 3) (pow (+ (log -1) (* -1 (log (/ -1 x)))) 3)) (+ (* (+ (log -1) (* -1 (log (/ -1 x)))) (+ (log -1/2) (* -1 (log (/ -1 x))))) (pow (log 2) 2)))
(/.f64 (+.f64 (pow.f64 (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) x))) #s(literal 3 binary64)) (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64))) (fma.f64 (-.f64 (log.f64 #s(literal -1/2 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) x))) (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) x))) (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 2 binary64))))
(+ (pow (log 2) 3) (pow (+ (log -1) (* -1 (log (/ -1 x)))) 3))
(+.f64 (pow.f64 (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) x))) #s(literal 3 binary64)) (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)))
(+ (pow (log 2) 3) (pow (+ (log -1) (* -1 (log (/ -1 x)))) 3))
(+.f64 (pow.f64 (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) x))) #s(literal 3 binary64)) (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)))
(+ (pow (log 2) 3) (pow (+ (log -1) (* -1 (log (/ -1 x)))) 3))
(+.f64 (pow.f64 (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) x))) #s(literal 3 binary64)) (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)))
(+ (pow (log 2) 3) (pow (+ (log -1) (* -1 (log (/ -1 x)))) 3))
(+.f64 (pow.f64 (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) x))) #s(literal 3 binary64)) (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)))
(pow (+ (log -1) (* -1 (log (/ -1 x)))) 3)
(pow.f64 (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) x))) #s(literal 3 binary64))
(pow (+ (log -1) (* -1 (log (/ -1 x)))) 3)
(pow.f64 (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) x))) #s(literal 3 binary64))
(pow (+ (log -1) (* -1 (log (/ -1 x)))) 3)
(pow.f64 (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) x))) #s(literal 3 binary64))
(pow (+ (log -1) (* -1 (log (/ -1 x)))) 3)
(pow.f64 (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) x))) #s(literal 3 binary64))
(* (+ (log -1) (* -1 (log (/ -1 x)))) (+ (log -1/2) (* -1 (log (/ -1 x)))))
(*.f64 (-.f64 (log.f64 #s(literal -1/2 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) x))) (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) x))))
(* (+ (log -1) (* -1 (log (/ -1 x)))) (+ (log -1/2) (* -1 (log (/ -1 x)))))
(*.f64 (-.f64 (log.f64 #s(literal -1/2 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) x))) (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) x))))
(* (+ (log -1) (* -1 (log (/ -1 x)))) (+ (log -1/2) (* -1 (log (/ -1 x)))))
(*.f64 (-.f64 (log.f64 #s(literal -1/2 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) x))) (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) x))))
(* (+ (log -1) (* -1 (log (/ -1 x)))) (+ (log -1/2) (* -1 (log (/ -1 x)))))
(*.f64 (-.f64 (log.f64 #s(literal -1/2 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) x))) (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) x))))

rewrite192.0ms (3.3%)

Memory
30.2MiB live, 257.4MiB allocated
Rules
7 326×lower-fma.f32
7 324×lower-fma.f64
5 224×lower-*.f32
5 220×lower-*.f64
3 452×lower-/.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02178
03278
112678
288442
0851241
Stop Event
iter limit
node limit
iter limit
Counts
6 → 313
Calls
Call 1
Inputs
#s(approx (log (+ x (sqrt (- (* x x) 1)))) (/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64)))))))
(/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64))))))
(+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64)))
(pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64))
(pow.f64 (log.f64 x) #s(literal 3 binary64))
(*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 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>

eval110.0ms (1.9%)

Memory
5.5MiB live, 136.1MiB allocated
Compiler

Compiled 14 017 to 1 373 computations (90.2% saved)

prune10.0ms (0.2%)

Memory
-5.0MiB live, 31.1MiB allocated
Pruning

5 alts after pruning (0 fresh and 5 done)

PrunedKeptTotal
New3730373
Fresh000
Picked011
Done044
Total3735378
Accuracy
100.0%
Counts
378 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
53.8%
(log.f64 (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x))
99.1%
(log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x))))
98.6%
(log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x)))
98.1%
#s(approx (log (+ x (sqrt (- (* x x) 1)))) (/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64)))))))
98.8%
#s(approx (log (+ x (sqrt (- (* x x) 1)))) (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64))))
Compiler

Compiled 109 to 75 computations (31.2% saved)

regimes11.0ms (0.2%)

Memory
-25.3MiB live, 20.9MiB allocated
Counts
6 → 1
Calls
Call 1
Inputs
(log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x)))
(log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x))))
(log.f64 (+.f64 (sqrt.f64 (fma.f64 x x #s(literal -1 binary64))) x))
(log.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))))
#s(approx (log (+ x (sqrt (- (* x x) 1)))) (+.f64 (log.f64 x) (log.f64 #s(literal 2 binary64))))
#s(approx (log (+ x (sqrt (- (* x x) 1)))) (/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 x) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (*.f64 (log.f64 x) (log.f64 (*.f64 x #s(literal 1/2 binary64)))))))
Outputs
(log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x))))
Calls

3 calls:

5.0ms
(log.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))))
2.0ms
x
2.0ms
(+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))))
Results
AccuracySegmentsBranch
99.1%1x
99.1%1(log.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))))
99.1%1(+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))))
Compiler

Compiled 18 to 14 computations (22.2% saved)

regimes4.0ms (0.1%)

Memory
10.5MiB live, 10.5MiB allocated
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
Calls
Call 1
Inputs
(log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x)))
Outputs
(log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x)))
Calls

3 calls:

1.0ms
(log.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))))
1.0ms
x
1.0ms
(+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))))
Results
AccuracySegmentsBranch
98.6%1x
98.6%1(log.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64)))))
98.6%1(+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) #s(literal 1 binary64))))
Compiler

Compiled 18 to 14 computations (22.2% saved)

simplify24.0ms (0.4%)

Memory
-13.6MiB live, 64.7MiB allocated
Algorithm
egg-herbie
Rules
1-exp-binary32-exp.f32
*-commutative-binary64-*.f64
1-exp-binary64-exp.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01529
11929
Stop Event
saturated
Calls
Call 1
Inputs
(log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x))))
(log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x)))
Outputs
(log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (fma.f64 #s(literal 2 binary64) x (/.f64 #s(literal -1/2 binary64) x))))
(log.f64 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f64 #s(literal 2 binary64) x)))

soundness194.0ms (3.3%)

Memory
7.9MiB live, 162.8MiB allocated
Rules
10 204×lower-fma.f64
10 204×lower-fma.f32
3 650×lower-*.f64
3 650×lower-*.f32
2 854×lower-+.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0150595
1411569
21146562
33331524
47979524
08531495
Stop Event
done
iter limit
node limit
Compiler

Compiled 24 to 20 computations (16.7% saved)

preprocess36.0ms (0.6%)

Memory
25.5MiB live, 110.2MiB allocated
Compiler

Compiled 44 to 34 computations (22.7% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...