Rust f32::acosh

Time bar (total: 3.0s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated; 0ms collecting garbage

analyze0.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated; 0ms collecting garbage
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%25%75%0%0%0%0
100%25%0%75%0%0%0%1
Compiler

Compiled 6 to 5 computations (16.7% saved)

sample711.0ms (23.7%)

Memory
1.5MiB live, 869.6MiB allocated; 243ms collecting garbage
Samples
376.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 205.0ms
ival-acosh: 145.0ms (70.8% of total)
ival->=: 47.0ms (22.9% of total)
exact: 7.0ms (3.4% of total)
ival-assert: 4.0ms (2% of total)
adjust: 2.0ms (1% of total)
Bogosity

explain269.0ms (9%)

Memory
9.4MiB live, 280.9MiB allocated; 88ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
1130-0-(sqrt.f32 (-.f32 (*.f32 x x) #s(literal 1 binary32)))
10-0-(log.f32 (+.f32 x (sqrt.f32 (-.f32 (*.f32 x x) #s(literal 1 binary32)))))
00-0-(-.f32 (*.f32 x x) #s(literal 1 binary32))
00-0-(*.f32 x x)
00-0-#s(literal 1 binary32)
00-0-(+.f32 x (sqrt.f32 (-.f32 (*.f32 x x) #s(literal 1 binary32))))
00-0-x
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
sqrt.f32(sqrt.f32 (-.f32 (*.f32 x x) #s(literal 1 binary32)))oflow-rescue1130
(*.f32 x x)overflow113
(-.f32 (*.f32 x x) #s(literal 1 binary32))overflow113
log.f32(log.f32 (+.f32 x (sqrt.f32 (-.f32 (*.f32 x x) #s(literal 1 binary32)))))oflow-rescue10
(+.f32 x (sqrt.f32 (-.f32 (*.f32 x x) #s(literal 1 binary32))))overflow1
(*.f32 x x)overflow113
(-.f32 (*.f32 x x) #s(literal 1 binary32))overflow113
Confusion
Predicted +Predicted -
+1130
-0143
Precision
1.0
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+11300
-00143
Precision?
1.0
Recall?
1.0
Freqs
test
numberfreq
0143
1112
21
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
80.0ms512×0valid
Compiler

Compiled 79 to 25 computations (68.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 50.0ms
ival-add: 33.0ms (66.5% of total)
ival-log: 5.0ms (10.1% of total)
ival-mult: 4.0ms (8.1% of total)
ival-sub: 3.0ms (6% of total)
ival-sqrt: 3.0ms (6% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

preprocess167.0ms (5.5%)

Memory
1.5MiB live, 189.9MiB allocated; 42ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
047
079
0129
1229
2499
31219
43839
523359
678899
080198
Stop Event
iter limit
node limit
iter limit
saturated
Calls
Call 1
Inputs
(log.f32 (+.f32 x (sqrt.f32 (-.f32 (*.f32 x x) #s(literal 1 binary32)))))
Outputs
(log.f32 (+.f32 x (sqrt.f32 (-.f32 (*.f32 x x) #s(literal 1 binary32)))))
(log.f32 (+.f32 (sqrt.f32 (fma.f32 x x #s(literal -1 binary32))) x))
Compiler

Compiled 9 to 7 computations (22.2% saved)

eval0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated; 0ms collecting garbage
Compiler

Compiled 0 to 1 computations (-∞% saved)

prune0.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated; 0ms collecting garbage
Alt Table
Click to see full alt table
StatusAccuracyProgram
58.7%
(log.f32 (+.f32 x (sqrt.f32 (-.f32 (*.f32 x x) #s(literal 1 binary32)))))
Compiler

Compiled 9 to 7 computations (22.2% saved)

simplify155.0ms (5.2%)

Memory
1.1MiB live, 148.1MiB allocated; 15ms collecting garbage
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(sqrt.f32 (-.f32 (*.f32 x x) #s(literal 1 binary32)))
cost-diff0
(+.f32 x (sqrt.f32 (-.f32 (*.f32 x x) #s(literal 1 binary32))))
cost-diff0
(log.f32 (+.f32 x (sqrt.f32 (-.f32 (*.f32 x x) #s(literal 1 binary32)))))
cost-diff1
(-.f32 (*.f32 x x) #s(literal 1 binary32))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0733
01233
12233
24933
312133
438333
5233533
6788933
0801929
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(log.f32 (+.f32 x (sqrt.f32 (-.f32 (*.f32 x x) #s(literal 1 binary32)))))
(+.f32 x (sqrt.f32 (-.f32 (*.f32 x x) #s(literal 1 binary32))))
x
(sqrt.f32 (-.f32 (*.f32 x x) #s(literal 1 binary32)))
(-.f32 (*.f32 x x) #s(literal 1 binary32))
(*.f32 x x)
#s(literal 1 binary32)
Outputs
(log.f32 (+.f32 x (sqrt.f32 (-.f32 (*.f32 x x) #s(literal 1 binary32)))))
(log.f32 (+.f32 (sqrt.f32 (fma.f32 x x #s(literal -1 binary32))) x))
(+.f32 x (sqrt.f32 (-.f32 (*.f32 x x) #s(literal 1 binary32))))
(+.f32 (sqrt.f32 (fma.f32 x x #s(literal -1 binary32))) x)
x
(sqrt.f32 (-.f32 (*.f32 x x) #s(literal 1 binary32)))
(sqrt.f32 (fma.f32 x x #s(literal -1 binary32)))
(-.f32 (*.f32 x x) #s(literal 1 binary32))
(fma.f32 x x #s(literal -1 binary32))
(*.f32 x x)
#s(literal 1 binary32)

localize24.0ms (0.8%)

Memory
-2.4MiB live, 43.2MiB allocated; 4ms collecting garbage
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.01171875
(-.f32 (*.f32 x x) #s(literal 1 binary32))
accuracy0.046875
(+.f32 x (sqrt.f32 (-.f32 (*.f32 x x) #s(literal 1 binary32))))
accuracy0.1364298770728417
(log.f32 (+.f32 x (sqrt.f32 (-.f32 (*.f32 x x) #s(literal 1 binary32)))))
accuracy12.21799599418302
(sqrt.f32 (-.f32 (*.f32 x x) #s(literal 1 binary32)))
Samples
17.0ms256×0valid
Compiler

Compiled 35 to 9 computations (74.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 9.0ms
ival-log: 3.0ms (32.7% of total)
ival-mult: 2.0ms (21.8% of total)
ival-sqrt: 2.0ms (21.8% of total)
ival-add: 1.0ms (10.9% of total)
ival-sub: 1.0ms (10.9% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series5.0ms (0.2%)

Memory
12.4MiB live, 12.4MiB allocated; 0ms collecting garbage
Counts
4 → 39
Calls
Call 1
Inputs
(-.f32 (*.f32 x x) #s(literal 1 binary32))
(log.f32 (+.f32 x (sqrt.f32 (-.f32 (*.f32 x x) #s(literal 1 binary32)))))
(+.f32 x (sqrt.f32 (-.f32 (*.f32 x x) #s(literal 1 binary32))))
(sqrt.f32 (-.f32 (*.f32 x x) #s(literal 1 binary32)))
Outputs
-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) (* 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) (- 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)))))
(+ (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))))))
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)))
1.0ms
x
@-inf
((- (* x x) 1) (log (+ x (sqrt (- (* x x) 1)))) (+ x (sqrt (- (* x x) 1))) (sqrt (- (* x x) 1)))
1.0ms
x
@inf
((- (* x x) 1) (log (+ x (sqrt (- (* x x) 1)))) (+ x (sqrt (- (* x x) 1))) (sqrt (- (* x x) 1)))

simplify238.0ms (7.9%)

Memory
-19.1MiB live, 164.5MiB allocated; 78ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0150525
1470499
21771482
07736463
Stop Event
iter limit
iter limit
node limit
Counts
39 → 38
Calls
Call 1
Inputs
-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) (* 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) (- 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)))))
(+ (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))))))
Outputs
-1
#s(literal -1 binary32)
(- (pow x 2) 1)
(fma.f32 x x #s(literal -1 binary32))
(log (sqrt -1))
(log.f32 (sqrt.f32 #s(literal -1 binary32)))
(+ (log (sqrt -1)) (/ x (sqrt -1)))
(+.f32 (/.f32 x (sqrt.f32 #s(literal -1 binary32))) (log.f32 (sqrt.f32 #s(literal -1 binary32))))
(+ (log (sqrt -1)) (* x (+ (* -1/6 (/ (pow x 2) (pow (sqrt -1) 3))) (/ 1 (sqrt -1)))))
(fma.f32 (/.f32 (fma.f32 #s(literal 1/6 binary32) (*.f32 x x) #s(literal 1 binary32)) (sqrt.f32 #s(literal -1 binary32))) x (log.f32 (sqrt.f32 #s(literal -1 binary32))))
(+ (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.f32 (pow.f32 x #s(literal 3 binary32)) (fma.f32 (*.f32 #s(literal 3/40 binary32) x) (/.f32 x (pow.f32 (sqrt.f32 #s(literal -1 binary32)) #s(literal 5 binary32))) (/.f32 #s(literal 1/6 binary32) (sqrt.f32 #s(literal -1 binary32)))) (+.f32 (/.f32 x (sqrt.f32 #s(literal -1 binary32))) (log.f32 (sqrt.f32 #s(literal -1 binary32)))))
(sqrt -1)
(sqrt.f32 #s(literal -1 binary32))
(+ x (sqrt -1))
(+.f32 (sqrt.f32 #s(literal -1 binary32)) x)
(+ (sqrt -1) (* x (+ 1 (* 1/2 (/ x (sqrt -1))))))
(fma.f32 (fma.f32 #s(literal 1/2 binary32) (/.f32 x (sqrt.f32 #s(literal -1 binary32))) #s(literal 1 binary32)) x (sqrt.f32 #s(literal -1 binary32)))
(+ (sqrt -1) (* x (+ 1 (* x (+ (* -1/8 (/ (pow x 2) (pow (sqrt -1) 3))) (* 1/2 (/ 1 (sqrt -1))))))))
(fma.f32 (fma.f32 (/.f32 (fma.f32 #s(literal 1/8 binary32) (*.f32 x x) #s(literal 1/2 binary32)) (sqrt.f32 #s(literal -1 binary32))) x #s(literal 1 binary32)) x (sqrt.f32 #s(literal -1 binary32)))
(+ (sqrt -1) (* 1/2 (/ (pow x 2) (sqrt -1))))
(fma.f32 (*.f32 (/.f32 x (sqrt.f32 #s(literal -1 binary32))) x) #s(literal 1/2 binary32) (sqrt.f32 #s(literal -1 binary32)))
(+ (sqrt -1) (* (pow x 2) (+ (* -1/8 (/ (pow x 2) (pow (sqrt -1) 3))) (* 1/2 (/ 1 (sqrt -1))))))
(fma.f32 (/.f32 (fma.f32 #s(literal 1/8 binary32) (*.f32 x x) #s(literal 1/2 binary32)) (sqrt.f32 #s(literal -1 binary32))) (*.f32 x x) (sqrt.f32 #s(literal -1 binary32)))
(+ (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.f32 (pow.f32 x #s(literal 4 binary32)) (fma.f32 (*.f32 #s(literal 1/16 binary32) x) (/.f32 x (pow.f32 (sqrt.f32 #s(literal -1 binary32)) #s(literal 5 binary32))) (/.f32 #s(literal 1/8 binary32) (sqrt.f32 #s(literal -1 binary32)))) (fma.f32 (*.f32 (/.f32 x (sqrt.f32 #s(literal -1 binary32))) x) #s(literal 1/2 binary32) (sqrt.f32 #s(literal -1 binary32))))
(pow x 2)
(*.f32 x x)
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(*.f32 (*.f32 (-.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) (*.f32 x x))) x) x)
(+ (log 2) (* -1 (log (/ 1 x))))
(+.f32 (log.f32 x) (log.f32 #s(literal 2 binary32)))
(- (+ (log 2) (* -1 (log (/ 1 x)))) (* 1/4 (/ 1 (pow x 2))))
(-.f32 (+.f32 (log.f32 x) (log.f32 #s(literal 2 binary32))) (/.f32 #s(literal 1/4 binary32) (*.f32 x x)))
(+ (log 2) (+ (* -1 (log (/ 1 x))) (* -1 (/ (+ 1/4 (* 3/32 (/ 1 (pow x 2)))) (pow x 2)))))
(-.f32 (-.f32 (+.f32 (log.f32 x) (log.f32 #s(literal 2 binary32))) (/.f32 #s(literal 3/32 binary32) (pow.f32 x #s(literal 4 binary32)))) (/.f32 #s(literal 1/4 binary32) (*.f32 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))))
(-.f32 (-.f32 (+.f32 (log.f32 x) (log.f32 #s(literal 2 binary32))) (/.f32 (-.f32 (/.f32 #s(literal 5/96 binary32) (*.f32 x x)) #s(literal -3/32 binary32)) (pow.f32 x #s(literal 4 binary32)))) (/.f32 #s(literal 1/4 binary32) (*.f32 x x)))
(* 2 x)
(*.f32 #s(literal 2 binary32) x)
(* x (- 2 (* 1/2 (/ 1 (pow x 2)))))
(*.f32 (-.f32 #s(literal 2 binary32) (/.f32 #s(literal 1/2 binary32) (*.f32 x x))) x)
(* x (+ 2 (* -1 (/ (+ 1/2 (* 1/8 (/ 1 (pow x 2)))) (pow x 2)))))
(*.f32 (-.f32 (-.f32 #s(literal 2 binary32) (/.f32 #s(literal 1/8 binary32) (pow.f32 x #s(literal 4 binary32)))) (/.f32 #s(literal 1/2 binary32) (*.f32 x x))) x)
(* x (- (+ 2 (* -1 (/ (+ 1/8 (* 1/16 (/ 1 (pow x 2)))) (pow x 4)))) (* 1/2 (/ 1 (pow x 2)))))
(*.f32 (-.f32 (/.f32 (-.f32 (/.f32 #s(literal -1/16 binary32) (*.f32 x x)) #s(literal 1/8 binary32)) (pow.f32 x #s(literal 4 binary32))) (-.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 x x)) #s(literal 2 binary32))) x)
x
(* x (- 1 (* 1/2 (/ 1 (pow x 2)))))
(fma.f32 (/.f32 #s(literal -1/2 binary32) (*.f32 x x)) x x)
(* x (+ 1 (* -1 (/ (+ 1/2 (* 1/8 (/ 1 (pow x 2)))) (pow x 2)))))
(fma.f32 (/.f32 x x) (/.f32 (-.f32 (/.f32 #s(literal -1/8 binary32) (*.f32 x x)) #s(literal 1/2 binary32)) x) x)
(* x (- (+ 1 (* -1 (/ (+ 1/8 (* 1/16 (/ 1 (pow x 2)))) (pow x 4)))) (* 1/2 (/ 1 (pow x 2)))))
(fma.f32 (-.f32 (/.f32 (-.f32 (/.f32 #s(literal -1/16 binary32) (*.f32 x x)) #s(literal 1/8 binary32)) (pow.f32 x #s(literal 4 binary32))) (/.f32 #s(literal 1/2 binary32) (*.f32 x x))) x x)
(+ (log -1/2) (log (/ -1 x)))
(+.f32 (log.f32 (/.f32 #s(literal -1 binary32) x)) (log.f32 #s(literal -1/2 binary32)))
(+ (log -1/2) (+ (log (/ -1 x)) (* 1/4 (/ 1 (pow x 2)))))
(-.f32 (+.f32 (log.f32 (/.f32 #s(literal -1 binary32) x)) (log.f32 #s(literal -1/2 binary32))) (/.f32 #s(literal -1/4 binary32) (*.f32 x x)))
(+ (log -1/2) (+ (log (/ -1 x)) (+ (/ 3/32 (pow x 4)) (* 1/4 (/ 1 (pow x 2))))))
(-.f32 (-.f32 (+.f32 (log.f32 (/.f32 #s(literal -1 binary32) x)) (log.f32 #s(literal -1/2 binary32))) (/.f32 #s(literal -1/4 binary32) (*.f32 x x))) (/.f32 #s(literal -3/32 binary32) (pow.f32 x #s(literal 4 binary32))))
(+ (log -1/2) (+ (log (/ -1 x)) (+ (/ 3/32 (pow x 4)) (+ (* 1/4 (/ 1 (pow x 2))) (* 5/96 (/ 1 (pow x 6)))))))
(-.f32 (-.f32 (-.f32 (+.f32 (log.f32 (/.f32 #s(literal -1 binary32) x)) (log.f32 #s(literal -1/2 binary32))) (/.f32 #s(literal -1/4 binary32) (*.f32 x x))) (/.f32 #s(literal -3/32 binary32) (pow.f32 x #s(literal 4 binary32)))) (/.f32 #s(literal -5/96 binary32) (pow.f32 x #s(literal 6 binary32))))
(/ 1/2 x)
(/.f32 #s(literal 1/2 binary32) x)
(/ (+ 1/2 (* 1/8 (/ 1 (pow x 2)))) x)
(/.f32 (-.f32 (/.f32 #s(literal 1/8 binary32) (*.f32 x x)) #s(literal -1/2 binary32)) x)
(* -1 (/ (- (* -1 (/ (+ 1/8 (* 1/16 (/ 1 (pow x 2)))) (pow x 2))) 1/2) x))
(/.f32 (+.f32 (/.f32 (/.f32 (-.f32 (/.f32 #s(literal 1/16 binary32) (*.f32 x x)) #s(literal -1/8 binary32)) x) x) #s(literal 1/2 binary32)) x)
(* -1 (/ (- (* -1 (/ (+ 1/16 (* 5/128 (/ 1 (pow x 2)))) (pow x 4))) (+ 1/2 (* 1/8 (/ 1 (pow x 2))))) x))
(/.f32 (-.f32 (/.f32 (-.f32 (/.f32 #s(literal -5/128 binary32) (*.f32 x x)) #s(literal 1/16 binary32)) (pow.f32 x #s(literal 4 binary32))) (-.f32 (/.f32 #s(literal 1/8 binary32) (*.f32 x x)) #s(literal -1/2 binary32))) (neg.f32 x))
(* -1 x)
(neg.f32 x)
(* -1 (* x (- 1 (* 1/2 (/ 1 (pow x 2))))))
(*.f32 (+.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 x x)) #s(literal -1 binary32)) x)
(* -1 (* x (+ 1 (* -1 (/ (+ 1/2 (* 1/8 (/ 1 (pow x 2)))) (pow x 2))))))
(*.f32 (-.f32 (+.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 x x)) #s(literal -1 binary32)) (/.f32 #s(literal -1/8 binary32) (pow.f32 x #s(literal 4 binary32)))) x)
(* -1 (* x (- (+ 1 (* -1 (/ (+ 1/8 (* 1/16 (/ 1 (pow x 2)))) (pow x 4)))) (* 1/2 (/ 1 (pow x 2))))))
(*.f32 (+.f32 (/.f32 (-.f32 (/.f32 #s(literal 1/16 binary32) (*.f32 x x)) #s(literal -1/8 binary32)) (pow.f32 x #s(literal 4 binary32))) (+.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 x x)) #s(literal -1 binary32))) x)

rewrite80.0ms (2.6%)

Memory
-12.4MiB live, 92.8MiB allocated; 21ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0728
01215
15315
040014
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
4 → 64
Calls
Call 1
Inputs
(-.f32 (*.f32 x x) #s(literal 1 binary32))
(log.f32 (+.f32 x (sqrt.f32 (-.f32 (*.f32 x x) #s(literal 1 binary32)))))
(+.f32 x (sqrt.f32 (-.f32 (*.f32 x x) #s(literal 1 binary32))))
(sqrt.f32 (-.f32 (*.f32 x x) #s(literal 1 binary32)))
Outputs
(expm1.f32 (*.f32 (log.f32 x) #s(literal 2 binary32)))
(*.f32 (+.f32 (neg.f32 x) #s(literal 1 binary32)) (-.f32 (neg.f32 x) #s(literal 1 binary32)))
(*.f32 (+.f32 (fabs.f32 x) #s(literal 1 binary32)) (-.f32 (fabs.f32 x) #s(literal 1 binary32)))
(*.f32 (neg.f32 (sinh.f32 (acosh.f32 x))) (neg.f32 (sinh.f32 (acosh.f32 x))))
(*.f32 (fabs.f32 (sinh.f32 (acosh.f32 x))) (fabs.f32 (sinh.f32 (acosh.f32 x))))
(*.f32 (-.f32 x #s(literal 1 binary32)) (-.f32 x #s(literal -1 binary32)))
(*.f32 (-.f32 x #s(literal -1 binary32)) (-.f32 x #s(literal 1 binary32)))
(*.f32 (sinh.f32 (acosh.f32 x)) (sinh.f32 (acosh.f32 x)))
(sqrt.f32 (*.f32 (fma.f32 x x #s(literal -1 binary32)) (fma.f32 x x #s(literal -1 binary32))))
(/.f32 (neg.f32 (-.f32 (pow.f32 x #s(literal 4 binary32)) #s(literal 1 binary32))) (neg.f32 (fma.f32 x x #s(literal 1 binary32))))
(/.f32 (neg.f32 (-.f32 (pow.f32 x #s(literal 6 binary32)) #s(literal 1 binary32))) (neg.f32 (+.f32 (fma.f32 x x #s(literal 1 binary32)) (pow.f32 x #s(literal 4 binary32)))))
(/.f32 (-.f32 (pow.f32 x #s(literal 4 binary32)) #s(literal 1 binary32)) (fma.f32 x x #s(literal 1 binary32)))
(/.f32 (-.f32 (pow.f32 x #s(literal 6 binary32)) #s(literal 1 binary32)) (+.f32 (fma.f32 x x #s(literal 1 binary32)) (pow.f32 x #s(literal 4 binary32))))
(-.f32 (/.f32 (pow.f32 x #s(literal 4 binary32)) (fma.f32 x x #s(literal 1 binary32))) (/.f32 #s(literal 1 binary32) (fma.f32 x x #s(literal 1 binary32))))
(-.f32 (/.f32 (pow.f32 x #s(literal 6 binary32)) (+.f32 (fma.f32 x x #s(literal 1 binary32)) (pow.f32 x #s(literal 4 binary32)))) (/.f32 #s(literal 1 binary32) (+.f32 (fma.f32 x x #s(literal 1 binary32)) (pow.f32 x #s(literal 4 binary32)))))
(-.f32 (*.f32 x x) #s(literal 1 binary32))
(fma.f32 (*.f32 (neg.f32 x) #s(literal 1 binary32)) (*.f32 (neg.f32 x) #s(literal 1 binary32)) #s(literal -1 binary32))
(fma.f32 (*.f32 (fabs.f32 x) #s(literal 1 binary32)) (*.f32 (fabs.f32 x) #s(literal 1 binary32)) #s(literal -1 binary32))
(fma.f32 (pow.f32 x #s(literal 1 binary32)) (pow.f32 x #s(literal 1 binary32)) #s(literal -1 binary32))
(fma.f32 (*.f32 x #s(literal 1 binary32)) (*.f32 x #s(literal 1 binary32)) #s(literal -1 binary32))
(fma.f32 (neg.f32 (neg.f32 x)) (neg.f32 (neg.f32 x)) #s(literal -1 binary32))
(fma.f32 (neg.f32 (fabs.f32 x)) (neg.f32 (fabs.f32 x)) #s(literal -1 binary32))
(fma.f32 (fabs.f32 (fabs.f32 x)) (fabs.f32 (fabs.f32 x)) #s(literal -1 binary32))
(fma.f32 (neg.f32 x) (*.f32 (neg.f32 x) #s(literal 1 binary32)) #s(literal -1 binary32))
(fma.f32 (neg.f32 x) (neg.f32 x) #s(literal -1 binary32))
(fma.f32 (fabs.f32 x) (*.f32 (fabs.f32 x) #s(literal 1 binary32)) #s(literal -1 binary32))
(fma.f32 (fabs.f32 x) (fabs.f32 x) #s(literal -1 binary32))
(fma.f32 #s(literal 1 binary32) (*.f32 x x) #s(literal -1 binary32))
(fma.f32 (*.f32 x x) #s(literal 1 binary32) #s(literal -1 binary32))
(fma.f32 x (*.f32 x #s(literal 1 binary32)) #s(literal -1 binary32))
(fma.f32 x x #s(literal -1 binary32))
(pow.f32 (*.f32 (fma.f32 x x #s(literal -1 binary32)) (fma.f32 x x #s(literal -1 binary32))) #s(literal 1/2 binary32))
(pow.f32 (sinh.f32 (acosh.f32 x)) #s(literal 2 binary32))
(pow.f32 (fma.f32 x x #s(literal -1 binary32)) #s(literal 1 binary32))
(+.f32 (*.f32 x x) #s(literal -1 binary32))
(acosh.f32 x)
(log.f32 (+.f32 (sinh.f32 (acosh.f32 x)) x))
(-.f32 (log.f32 (-.f32 (*.f32 x x) (fma.f32 x x #s(literal -1 binary32)))) (log.f32 (-.f32 x (sinh.f32 (acosh.f32 x)))))
(-.f32 (log.f32 (+.f32 (pow.f32 (sinh.f32 (acosh.f32 x)) #s(literal 3 binary32)) (pow.f32 x #s(literal 3 binary32)))) (log.f32 (fma.f32 (sinh.f32 (acosh.f32 x)) (-.f32 (sinh.f32 (acosh.f32 x)) x) (*.f32 x x))))
(/.f32 (-.f32 (fma.f32 x x #s(literal -1 binary32)) (*.f32 x x)) (-.f32 (sinh.f32 (acosh.f32 x)) x))
(/.f32 (neg.f32 (-.f32 (*.f32 x x) (fma.f32 x x #s(literal -1 binary32)))) (neg.f32 (-.f32 x (sinh.f32 (acosh.f32 x)))))
(/.f32 (neg.f32 (+.f32 (pow.f32 (sinh.f32 (acosh.f32 x)) #s(literal 3 binary32)) (pow.f32 x #s(literal 3 binary32)))) (neg.f32 (fma.f32 (sinh.f32 (acosh.f32 x)) (-.f32 (sinh.f32 (acosh.f32 x)) x) (*.f32 x x))))
(/.f32 (-.f32 (*.f32 x x) (fma.f32 x x #s(literal -1 binary32))) (-.f32 x (sinh.f32 (acosh.f32 x))))
(/.f32 (+.f32 (pow.f32 (sinh.f32 (acosh.f32 x)) #s(literal 3 binary32)) (pow.f32 x #s(literal 3 binary32))) (+.f32 (fma.f32 x x #s(literal -1 binary32)) (-.f32 (*.f32 x x) (*.f32 (sinh.f32 (acosh.f32 x)) x))))
(/.f32 (+.f32 (pow.f32 (sinh.f32 (acosh.f32 x)) #s(literal 3 binary32)) (pow.f32 x #s(literal 3 binary32))) (fma.f32 (sinh.f32 (acosh.f32 x)) (-.f32 (sinh.f32 (acosh.f32 x)) x) (*.f32 x x)))
(-.f32 (/.f32 (*.f32 x x) (-.f32 x (sinh.f32 (acosh.f32 x)))) (/.f32 (fma.f32 x x #s(literal -1 binary32)) (-.f32 x (sinh.f32 (acosh.f32 x)))))
(fma.f32 (pow.f32 (fma.f32 x x #s(literal -1 binary32)) #s(literal 1/4 binary32)) (pow.f32 (fma.f32 x x #s(literal -1 binary32)) #s(literal 1/4 binary32)) x)
(fma.f32 (sqrt.f32 (-.f32 x #s(literal -1 binary32))) (sqrt.f32 (-.f32 x #s(literal 1 binary32))) x)
(fma.f32 (pow.f32 (-.f32 x #s(literal -1 binary32)) #s(literal 1/2 binary32)) (pow.f32 (-.f32 x #s(literal 1 binary32)) #s(literal 1/2 binary32)) x)
(+.f32 (/.f32 (pow.f32 x #s(literal 3 binary32)) (fma.f32 (sinh.f32 (acosh.f32 x)) (-.f32 (sinh.f32 (acosh.f32 x)) x) (*.f32 x x))) (/.f32 (pow.f32 (sinh.f32 (acosh.f32 x)) #s(literal 3 binary32)) (fma.f32 (sinh.f32 (acosh.f32 x)) (-.f32 (sinh.f32 (acosh.f32 x)) x) (*.f32 x x))))
(+.f32 (sinh.f32 (acosh.f32 x)) x)
(+.f32 x (sinh.f32 (acosh.f32 x)))
(*.f32 (pow.f32 (fma.f32 x x #s(literal -1 binary32)) #s(literal 1/4 binary32)) (pow.f32 (fma.f32 x x #s(literal -1 binary32)) #s(literal 1/4 binary32)))
(*.f32 (sqrt.f32 (-.f32 x #s(literal -1 binary32))) (sqrt.f32 (-.f32 x #s(literal 1 binary32))))
(*.f32 (pow.f32 (-.f32 x #s(literal -1 binary32)) #s(literal 1/2 binary32)) (pow.f32 (-.f32 x #s(literal 1 binary32)) #s(literal 1/2 binary32)))
(sqrt.f32 (fma.f32 x x #s(literal -1 binary32)))
(/.f32 (sqrt.f32 (-.f32 (pow.f32 x #s(literal 4 binary32)) #s(literal 1 binary32))) (sqrt.f32 (fma.f32 x x #s(literal 1 binary32))))
(/.f32 (sqrt.f32 (-.f32 (pow.f32 x #s(literal 6 binary32)) #s(literal 1 binary32))) (sqrt.f32 (+.f32 (fma.f32 x x #s(literal 1 binary32)) (pow.f32 x #s(literal 4 binary32)))))
(/.f32 (-.f32 (exp.f32 (acosh.f32 x)) (exp.f32 (neg.f32 (acosh.f32 x)))) #s(literal 2 binary32))
(pow.f32 (fma.f32 x x #s(literal -1 binary32)) #s(literal 1/2 binary32))
(exp.f32 (*.f32 (log.f32 (fma.f32 x x #s(literal -1 binary32))) #s(literal 1/2 binary32)))
(sinh.f32 (acosh.f32 (neg.f32 x)))
(sinh.f32 (acosh.f32 (fabs.f32 x)))
(sinh.f32 (acosh.f32 x))

eval27.0ms (0.9%)

Memory
23.6MiB live, 23.6MiB allocated; 0ms collecting garbage
Compiler

Compiled 1 699 to 485 computations (71.5% saved)

prune3.0ms (0.1%)

Memory
7.0MiB live, 7.0MiB allocated; 0ms collecting garbage
Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New984102
Fresh000
Picked101
Done000
Total994103
Accuracy
100.0%
Counts
103 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.6%
(log.f32 (+.f32 x (*.f32 (sqrt.f32 (-.f32 x #s(literal -1 binary32))) (sqrt.f32 (-.f32 x #s(literal 1 binary32))))))
58.7%
(log.f32 (+.f32 x (sqrt.f32 (fma.f32 x x #s(literal -1 binary32)))))
96.7%
(log.f32 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f32 #s(literal 2 binary32) x)))
99.3%
(acosh.f32 x)
Compiler

Compiled 35 to 28 computations (20% saved)

simplify141.0ms (4.7%)

Memory
1.3MiB live, 134.6MiB allocated; 22ms collecting garbage
Localize:

Found 12 expressions of interest:

NewMetricScoreProgram
cost-diff0
(sqrt.f32 (-.f32 x #s(literal -1 binary32)))
cost-diff0
(*.f32 (sqrt.f32 (-.f32 x #s(literal -1 binary32))) (sqrt.f32 (-.f32 x #s(literal 1 binary32))))
cost-diff0
(log.f32 (+.f32 x (*.f32 (sqrt.f32 (-.f32 x #s(literal -1 binary32))) (sqrt.f32 (-.f32 x #s(literal 1 binary32))))))
cost-diff1
(+.f32 x (*.f32 (sqrt.f32 (-.f32 x #s(literal -1 binary32))) (sqrt.f32 (-.f32 x #s(literal 1 binary32)))))
cost-diff0
(fma.f32 x x #s(literal -1 binary32))
cost-diff0
(sqrt.f32 (fma.f32 x x #s(literal -1 binary32)))
cost-diff0
(+.f32 x (sqrt.f32 (fma.f32 x x #s(literal -1 binary32))))
cost-diff0
(log.f32 (+.f32 x (sqrt.f32 (fma.f32 x x #s(literal -1 binary32)))))
cost-diff0
(*.f32 #s(literal 2 binary32) x)
cost-diff0
#s(approx (+ x (sqrt (- (* x x) 1))) (*.f32 #s(literal 2 binary32) x))
cost-diff0
(log.f32 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f32 #s(literal 2 binary32) x)))
cost-diff0
(acosh.f32 x)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
023108
037106
157106
2101106
3210106
4646106
53629106
08093104
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(acosh.f32 x)
x
(log.f32 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f32 #s(literal 2 binary32) x)))
#s(approx (+ x (sqrt (- (* x x) 1))) (*.f32 #s(literal 2 binary32) x))
(*.f32 #s(literal 2 binary32) x)
#s(literal 2 binary32)
x
(log.f32 (+.f32 x (sqrt.f32 (fma.f32 x x #s(literal -1 binary32)))))
(+.f32 x (sqrt.f32 (fma.f32 x x #s(literal -1 binary32))))
x
(sqrt.f32 (fma.f32 x x #s(literal -1 binary32)))
(fma.f32 x x #s(literal -1 binary32))
#s(literal -1 binary32)
(log.f32 (+.f32 x (*.f32 (sqrt.f32 (-.f32 x #s(literal -1 binary32))) (sqrt.f32 (-.f32 x #s(literal 1 binary32))))))
(+.f32 x (*.f32 (sqrt.f32 (-.f32 x #s(literal -1 binary32))) (sqrt.f32 (-.f32 x #s(literal 1 binary32)))))
x
(*.f32 (sqrt.f32 (-.f32 x #s(literal -1 binary32))) (sqrt.f32 (-.f32 x #s(literal 1 binary32))))
(sqrt.f32 (-.f32 x #s(literal -1 binary32)))
(-.f32 x #s(literal -1 binary32))
#s(literal -1 binary32)
(sqrt.f32 (-.f32 x #s(literal 1 binary32)))
(-.f32 x #s(literal 1 binary32))
#s(literal 1 binary32)
Outputs
(acosh.f32 x)
x
(log.f32 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f32 #s(literal 2 binary32) x)))
#s(approx (+ x (sqrt (- (* x x) 1))) (*.f32 #s(literal 2 binary32) x))
(*.f32 #s(literal 2 binary32) x)
#s(literal 2 binary32)
x
(log.f32 (+.f32 x (sqrt.f32 (fma.f32 x x #s(literal -1 binary32)))))
(log.f32 (+.f32 (sqrt.f32 (fma.f32 x x #s(literal -1 binary32))) x))
(+.f32 x (sqrt.f32 (fma.f32 x x #s(literal -1 binary32))))
(+.f32 (sqrt.f32 (fma.f32 x x #s(literal -1 binary32))) x)
x
(sqrt.f32 (fma.f32 x x #s(literal -1 binary32)))
(fma.f32 x x #s(literal -1 binary32))
#s(literal -1 binary32)
(log.f32 (+.f32 x (*.f32 (sqrt.f32 (-.f32 x #s(literal -1 binary32))) (sqrt.f32 (-.f32 x #s(literal 1 binary32))))))
(log.f32 (fma.f32 (sqrt.f32 (-.f32 x #s(literal 1 binary32))) (sqrt.f32 (-.f32 x #s(literal -1 binary32))) x))
(+.f32 x (*.f32 (sqrt.f32 (-.f32 x #s(literal -1 binary32))) (sqrt.f32 (-.f32 x #s(literal 1 binary32)))))
(fma.f32 (sqrt.f32 (-.f32 x #s(literal 1 binary32))) (sqrt.f32 (-.f32 x #s(literal -1 binary32))) x)
x
(*.f32 (sqrt.f32 (-.f32 x #s(literal -1 binary32))) (sqrt.f32 (-.f32 x #s(literal 1 binary32))))
(*.f32 (sqrt.f32 (-.f32 x #s(literal 1 binary32))) (sqrt.f32 (-.f32 x #s(literal -1 binary32))))
(sqrt.f32 (-.f32 x #s(literal -1 binary32)))
(-.f32 x #s(literal -1 binary32))
#s(literal -1 binary32)
(sqrt.f32 (-.f32 x #s(literal 1 binary32)))
(-.f32 x #s(literal 1 binary32))
#s(literal 1 binary32)

localize76.0ms (2.5%)

Memory
17.5MiB live, 112.1MiB allocated; 22ms collecting garbage
Localize:

Found 12 expressions of interest:

NewMetricScoreProgram
accuracy0.0078125
(sqrt.f32 (-.f32 x #s(literal 1 binary32)))
accuracy0.046875
(+.f32 x (*.f32 (sqrt.f32 (-.f32 x #s(literal -1 binary32))) (sqrt.f32 (-.f32 x #s(literal 1 binary32)))))
accuracy0.1364298770728417
(log.f32 (+.f32 x (*.f32 (sqrt.f32 (-.f32 x #s(literal -1 binary32))) (sqrt.f32 (-.f32 x #s(literal 1 binary32))))))
accuracy0.46875
(*.f32 (sqrt.f32 (-.f32 x #s(literal -1 binary32))) (sqrt.f32 (-.f32 x #s(literal 1 binary32))))
accuracy0.0
(fma.f32 x x #s(literal -1 binary32))
accuracy0.046875
(+.f32 x (sqrt.f32 (fma.f32 x x #s(literal -1 binary32))))
accuracy0.1364298770728417
(log.f32 (+.f32 x (sqrt.f32 (fma.f32 x x #s(literal -1 binary32)))))
accuracy12.21799599418302
(sqrt.f32 (fma.f32 x x #s(literal -1 binary32)))
accuracy0.0
(*.f32 #s(literal 2 binary32) x)
accuracy0.1364298770728417
(log.f32 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f32 #s(literal 2 binary32) x)))
accuracy1.0896466687195154
#s(approx (+ x (sqrt (- (* x x) 1))) (*.f32 #s(literal 2 binary32) x))
accuracy0.22265625
(acosh.f32 x)
Samples
45.0ms256×0valid
Compiler

Compiled 106 to 24 computations (77.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 35.0ms
ival-add: 9.0ms (25.4% of total)
ival-log: 7.0ms (19.7% of total)
ival-sqrt: 7.0ms (19.7% of total)
ival-mult: 5.0ms (14.1% of total)
ival-sub: 4.0ms (11.3% of total)
ival-acosh: 3.0ms (8.5% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series13.0ms (0.4%)

Memory
-25.7MiB live, 19.0MiB allocated; 6ms collecting garbage
Counts
13 → 72
Calls
Call 1
Inputs
(acosh.f32 x)
(log.f32 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f32 #s(literal 2 binary32) x)))
#s(approx (+ x (sqrt (- (* x x) 1))) (*.f32 #s(literal 2 binary32) x))
(*.f32 #s(literal 2 binary32) x)
(log.f32 (+.f32 x (sqrt.f32 (fma.f32 x x #s(literal -1 binary32)))))
(+.f32 x (sqrt.f32 (fma.f32 x x #s(literal -1 binary32))))
(sqrt.f32 (fma.f32 x x #s(literal -1 binary32)))
(fma.f32 x x #s(literal -1 binary32))
(+.f32 x (*.f32 (sqrt.f32 (-.f32 x #s(literal -1 binary32))) (sqrt.f32 (-.f32 x #s(literal 1 binary32)))))
(log.f32 (+.f32 x (*.f32 (sqrt.f32 (-.f32 x #s(literal -1 binary32))) (sqrt.f32 (-.f32 x #s(literal 1 binary32))))))
(*.f32 (sqrt.f32 (-.f32 x #s(literal -1 binary32))) (sqrt.f32 (-.f32 x #s(literal 1 binary32))))
(sqrt.f32 (-.f32 x #s(literal -1 binary32)))
(sqrt.f32 (-.f32 x #s(literal 1 binary32)))
Outputs
(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)
(+ (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)
1
(+ 1 (* 1/2 x))
(+ 1 (* x (+ 1/2 (* -1/8 x))))
(+ 1 (* x (+ 1/2 (* x (- (* 1/16 x) 1/8)))))
(+ (sqrt -1) (* 1/2 (/ x (sqrt -1))))
(+ (sqrt -1) (* x (+ (* -1/8 (/ x (pow (sqrt -1) 3))) (* 1/2 (/ 1 (sqrt -1))))))
(+ (sqrt -1) (* x (+ (* x (- (* 1/16 (/ x (pow (sqrt -1) 5))) (* 1/8 (/ 1 (pow (sqrt -1) 3))))) (* 1/2 (/ 1 (sqrt -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))))
(* 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))))
(sqrt x)
(* x (+ (sqrt (/ 1 x)) (* 1/2 (sqrt (/ 1 (pow x 3))))))
(* x (+ (sqrt (/ 1 x)) (+ (* -1/8 (sqrt (/ 1 (pow x 5)))) (* 1/2 (sqrt (/ 1 (pow x 3)))))))
(* x (+ (sqrt (/ 1 x)) (+ (* -1/8 (sqrt (/ 1 (pow x 5)))) (+ (* 1/16 (sqrt (/ 1 (pow x 7)))) (* 1/2 (sqrt (/ 1 (pow x 3))))))))
(* x (+ (sqrt (/ 1 x)) (* -1/2 (sqrt (/ 1 (pow x 3))))))
(* x (+ (sqrt (/ 1 x)) (+ (* -1/2 (sqrt (/ 1 (pow x 3)))) (* -1/8 (sqrt (/ 1 (pow x 5)))))))
(* x (+ (sqrt (/ 1 x)) (+ (* -1/2 (sqrt (/ 1 (pow x 3)))) (+ (* -1/8 (sqrt (/ 1 (pow x 5)))) (* -1/16 (sqrt (/ 1 (pow x 7))))))))
(+ (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))))))
(* -1 (* x (- (pow (sqrt -1) 2) 1)))
(* -1 (* x (- (+ (* 1/2 (/ 1 (pow x 2))) (pow (sqrt -1) 2)) 1)))
(* -1 (* x (- (+ (* 1/2 (/ 1 (pow x 2))) (pow (sqrt -1) 2)) (+ 1 (/ 1/8 (* (pow x 4) (pow (sqrt -1) 2)))))))
(* -1 (* x (- (+ (* 1/16 (/ 1 (* (pow x 6) (pow (sqrt -1) 4)))) (+ (* 1/2 (/ 1 (pow x 2))) (pow (sqrt -1) 2))) (+ 1 (* 1/8 (/ 1 (* (pow x 4) (pow (sqrt -1) 2))))))))
(+ (log (- (pow (sqrt -1) 2) 1)) (* -1 (log (/ -1 x))))
(+ (log (- (pow (sqrt -1) 2) 1)) (+ (* -1 (log (/ -1 x))) (* 1/2 (/ 1 (* (pow x 2) (- (pow (sqrt -1) 2) 1))))))
(+ (log (- (pow (sqrt -1) 2) 1)) (+ (* -1 (log (/ -1 x))) (+ (* -1/24 (/ (+ (* 3 (/ 1 (* (pow (sqrt -1) 2) (- (pow (sqrt -1) 2) 1)))) (* 3 (/ 1 (pow (- (pow (sqrt -1) 2) 1) 2)))) (pow x 4))) (/ 1/2 (* (pow x 2) (- (pow (sqrt -1) 2) 1))))))
(+ (log (- (pow (sqrt -1) 2) 1)) (+ (* -1 (log (/ -1 x))) (+ (* -1/24 (/ (+ (* 3 (/ 1 (* (pow (sqrt -1) 2) (- (pow (sqrt -1) 2) 1)))) (* 3 (/ 1 (pow (- (pow (sqrt -1) 2) 1) 2)))) (pow x 4))) (+ (* 1/720 (/ (+ (* 45 (/ 1 (* (pow (sqrt -1) 2) (pow (- (pow (sqrt -1) 2) 1) 2)))) (+ (* 45 (/ 1 (* (pow (sqrt -1) 4) (- (pow (sqrt -1) 2) 1)))) (* 30 (/ 1 (pow (- (pow (sqrt -1) 2) 1) 3))))) (pow x 6))) (/ 1/2 (* (pow x 2) (- (pow (sqrt -1) 2) 1)))))))
(* -1 (* x (pow (sqrt -1) 2)))
(* -1 (* x (+ (* 1/2 (/ 1 (pow x 2))) (pow (sqrt -1) 2))))
(* -1 (* x (- (+ (* 1/2 (/ 1 (pow x 2))) (pow (sqrt -1) 2)) (/ 1/8 (* (pow x 4) (pow (sqrt -1) 2))))))
(* -1 (* x (- (+ (* 1/16 (/ 1 (* (pow x 6) (pow (sqrt -1) 4)))) (+ (* 1/2 (/ 1 (pow x 2))) (pow (sqrt -1) 2))) (* 1/8 (/ 1 (* (pow x 4) (pow (sqrt -1) 2)))))))
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(* -1 (* x (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))
(* -1 (* x (+ (* -1/8 (* (sqrt (/ 1 (pow x 5))) (/ 1 (pow (sqrt -1) 2)))) (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2))))))
(* -1 (* x (+ (* -1/8 (* (sqrt (/ 1 (pow x 5))) (/ 1 (pow (sqrt -1) 2)))) (+ (* 1/16 (* (sqrt (/ 1 (pow x 7))) (/ 1 (pow (sqrt -1) 4)))) (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))))
(* -1 (* x (+ (* 1/2 (* (sqrt (/ 1 (pow x 3))) (pow (sqrt -1) 2))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))
(* -1 (* x (+ (* -1/8 (* (sqrt (/ 1 (pow x 5))) (pow (sqrt -1) 2))) (+ (* 1/2 (* (sqrt (/ 1 (pow x 3))) (pow (sqrt -1) 2))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2))))))
(* -1 (* x (+ (* -1/8 (* (sqrt (/ 1 (pow x 5))) (pow (sqrt -1) 2))) (+ (* 1/16 (* (sqrt (/ 1 (pow x 7))) (pow (sqrt -1) 2))) (+ (* 1/2 (* (sqrt (/ 1 (pow x 3))) (pow (sqrt -1) 2))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))))
Calls

3 calls:

TimeVariablePointExpression
8.0ms
x
@-inf
((acosh x) (log (+ x (sqrt (- (* x x) 1)))) (+ x (sqrt (- (* x x) 1))) (* 2 x) (log (+ x (sqrt (+ (* x x) -1)))) (+ x (sqrt (+ (* x x) -1))) (sqrt (+ (* x x) -1)) (+ (* x x) -1) (+ x (* (sqrt (- x -1)) (sqrt (- x 1)))) (log (+ x (* (sqrt (- x -1)) (sqrt (- x 1))))) (* (sqrt (- x -1)) (sqrt (- x 1))) (sqrt (- x -1)) (sqrt (- x 1)))
2.0ms
x
@inf
((acosh x) (log (+ x (sqrt (- (* x x) 1)))) (+ x (sqrt (- (* x x) 1))) (* 2 x) (log (+ x (sqrt (+ (* x x) -1)))) (+ x (sqrt (+ (* x x) -1))) (sqrt (+ (* x x) -1)) (+ (* x x) -1) (+ x (* (sqrt (- x -1)) (sqrt (- x 1)))) (log (+ x (* (sqrt (- x -1)) (sqrt (- x 1))))) (* (sqrt (- x -1)) (sqrt (- x 1))) (sqrt (- x -1)) (sqrt (- x 1)))
1.0ms
x
@0
((acosh x) (log (+ x (sqrt (- (* x x) 1)))) (+ x (sqrt (- (* x x) 1))) (* 2 x) (log (+ x (sqrt (+ (* x x) -1)))) (+ x (sqrt (+ (* x x) -1))) (sqrt (+ (* x x) -1)) (+ (* x x) -1) (+ x (* (sqrt (- x -1)) (sqrt (- x 1)))) (log (+ x (* (sqrt (- x -1)) (sqrt (- x 1))))) (* (sqrt (- x -1)) (sqrt (- x 1))) (sqrt (- x -1)) (sqrt (- x 1)))

simplify165.0ms (5.5%)

Memory
24.0MiB live, 258.3MiB allocated; 27ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03231272
110181059
243681024
08356977
Stop Event
iter limit
node limit
Counts
72 → 71
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)))))
(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)
(+ (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)
1
(+ 1 (* 1/2 x))
(+ 1 (* x (+ 1/2 (* -1/8 x))))
(+ 1 (* x (+ 1/2 (* x (- (* 1/16 x) 1/8)))))
(+ (sqrt -1) (* 1/2 (/ x (sqrt -1))))
(+ (sqrt -1) (* x (+ (* -1/8 (/ x (pow (sqrt -1) 3))) (* 1/2 (/ 1 (sqrt -1))))))
(+ (sqrt -1) (* x (+ (* x (- (* 1/16 (/ x (pow (sqrt -1) 5))) (* 1/8 (/ 1 (pow (sqrt -1) 3))))) (* 1/2 (/ 1 (sqrt -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))))
(* 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))))
(sqrt x)
(* x (+ (sqrt (/ 1 x)) (* 1/2 (sqrt (/ 1 (pow x 3))))))
(* x (+ (sqrt (/ 1 x)) (+ (* -1/8 (sqrt (/ 1 (pow x 5)))) (* 1/2 (sqrt (/ 1 (pow x 3)))))))
(* x (+ (sqrt (/ 1 x)) (+ (* -1/8 (sqrt (/ 1 (pow x 5)))) (+ (* 1/16 (sqrt (/ 1 (pow x 7)))) (* 1/2 (sqrt (/ 1 (pow x 3))))))))
(* x (+ (sqrt (/ 1 x)) (* -1/2 (sqrt (/ 1 (pow x 3))))))
(* x (+ (sqrt (/ 1 x)) (+ (* -1/2 (sqrt (/ 1 (pow x 3)))) (* -1/8 (sqrt (/ 1 (pow x 5)))))))
(* x (+ (sqrt (/ 1 x)) (+ (* -1/2 (sqrt (/ 1 (pow x 3)))) (+ (* -1/8 (sqrt (/ 1 (pow x 5)))) (* -1/16 (sqrt (/ 1 (pow x 7))))))))
(+ (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))))))
(* -1 (* x (- (pow (sqrt -1) 2) 1)))
(* -1 (* x (- (+ (* 1/2 (/ 1 (pow x 2))) (pow (sqrt -1) 2)) 1)))
(* -1 (* x (- (+ (* 1/2 (/ 1 (pow x 2))) (pow (sqrt -1) 2)) (+ 1 (/ 1/8 (* (pow x 4) (pow (sqrt -1) 2)))))))
(* -1 (* x (- (+ (* 1/16 (/ 1 (* (pow x 6) (pow (sqrt -1) 4)))) (+ (* 1/2 (/ 1 (pow x 2))) (pow (sqrt -1) 2))) (+ 1 (* 1/8 (/ 1 (* (pow x 4) (pow (sqrt -1) 2))))))))
(+ (log (- (pow (sqrt -1) 2) 1)) (* -1 (log (/ -1 x))))
(+ (log (- (pow (sqrt -1) 2) 1)) (+ (* -1 (log (/ -1 x))) (* 1/2 (/ 1 (* (pow x 2) (- (pow (sqrt -1) 2) 1))))))
(+ (log (- (pow (sqrt -1) 2) 1)) (+ (* -1 (log (/ -1 x))) (+ (* -1/24 (/ (+ (* 3 (/ 1 (* (pow (sqrt -1) 2) (- (pow (sqrt -1) 2) 1)))) (* 3 (/ 1 (pow (- (pow (sqrt -1) 2) 1) 2)))) (pow x 4))) (/ 1/2 (* (pow x 2) (- (pow (sqrt -1) 2) 1))))))
(+ (log (- (pow (sqrt -1) 2) 1)) (+ (* -1 (log (/ -1 x))) (+ (* -1/24 (/ (+ (* 3 (/ 1 (* (pow (sqrt -1) 2) (- (pow (sqrt -1) 2) 1)))) (* 3 (/ 1 (pow (- (pow (sqrt -1) 2) 1) 2)))) (pow x 4))) (+ (* 1/720 (/ (+ (* 45 (/ 1 (* (pow (sqrt -1) 2) (pow (- (pow (sqrt -1) 2) 1) 2)))) (+ (* 45 (/ 1 (* (pow (sqrt -1) 4) (- (pow (sqrt -1) 2) 1)))) (* 30 (/ 1 (pow (- (pow (sqrt -1) 2) 1) 3))))) (pow x 6))) (/ 1/2 (* (pow x 2) (- (pow (sqrt -1) 2) 1)))))))
(* -1 (* x (pow (sqrt -1) 2)))
(* -1 (* x (+ (* 1/2 (/ 1 (pow x 2))) (pow (sqrt -1) 2))))
(* -1 (* x (- (+ (* 1/2 (/ 1 (pow x 2))) (pow (sqrt -1) 2)) (/ 1/8 (* (pow x 4) (pow (sqrt -1) 2))))))
(* -1 (* x (- (+ (* 1/16 (/ 1 (* (pow x 6) (pow (sqrt -1) 4)))) (+ (* 1/2 (/ 1 (pow x 2))) (pow (sqrt -1) 2))) (* 1/8 (/ 1 (* (pow x 4) (pow (sqrt -1) 2)))))))
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(* -1 (* x (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))
(* -1 (* x (+ (* -1/8 (* (sqrt (/ 1 (pow x 5))) (/ 1 (pow (sqrt -1) 2)))) (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2))))))
(* -1 (* x (+ (* -1/8 (* (sqrt (/ 1 (pow x 5))) (/ 1 (pow (sqrt -1) 2)))) (+ (* 1/16 (* (sqrt (/ 1 (pow x 7))) (/ 1 (pow (sqrt -1) 4)))) (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))))
(* -1 (* x (+ (* 1/2 (* (sqrt (/ 1 (pow x 3))) (pow (sqrt -1) 2))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))
(* -1 (* x (+ (* -1/8 (* (sqrt (/ 1 (pow x 5))) (pow (sqrt -1) 2))) (+ (* 1/2 (* (sqrt (/ 1 (pow x 3))) (pow (sqrt -1) 2))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2))))))
(* -1 (* x (+ (* -1/8 (* (sqrt (/ 1 (pow x 5))) (pow (sqrt -1) 2))) (+ (* 1/16 (* (sqrt (/ 1 (pow x 7))) (pow (sqrt -1) 2))) (+ (* 1/2 (* (sqrt (/ 1 (pow x 3))) (pow (sqrt -1) 2))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))))
Outputs
(log (sqrt -1))
(log.f32 (sqrt.f32 #s(literal -1 binary32)))
(+ (log (sqrt -1)) (/ x (sqrt -1)))
(+.f32 (/.f32 x (sqrt.f32 #s(literal -1 binary32))) (log.f32 (sqrt.f32 #s(literal -1 binary32))))
(+ (log (sqrt -1)) (* x (+ (* -1/6 (/ (pow x 2) (pow (sqrt -1) 3))) (/ 1 (sqrt -1)))))
(fma.f32 (/.f32 (+.f32 #s(literal 1 binary32) (/.f32 (*.f32 (*.f32 x x) #s(literal -1/6 binary32)) #s(literal -1 binary32))) (sqrt.f32 #s(literal -1 binary32))) x (log.f32 (sqrt.f32 #s(literal -1 binary32))))
(+ (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.f32 (pow.f32 x #s(literal 3 binary32)) (-.f32 (/.f32 (*.f32 #s(literal 3/40 binary32) (*.f32 x x)) (pow.f32 (sqrt.f32 #s(literal -1 binary32)) #s(literal 5 binary32))) (/.f32 #s(literal -1/6 binary32) (sqrt.f32 #s(literal -1 binary32)))) (+.f32 (/.f32 x (sqrt.f32 #s(literal -1 binary32))) (log.f32 (sqrt.f32 #s(literal -1 binary32)))))
(sqrt -1)
(sqrt.f32 #s(literal -1 binary32))
(+ x (sqrt -1))
(+.f32 (sqrt.f32 #s(literal -1 binary32)) x)
(+ (sqrt -1) (* x (+ 1 (* 1/2 (/ x (sqrt -1))))))
(fma.f32 (fma.f32 #s(literal 1/2 binary32) (/.f32 x (sqrt.f32 #s(literal -1 binary32))) #s(literal 1 binary32)) x (sqrt.f32 #s(literal -1 binary32)))
(+ (sqrt -1) (* x (+ 1 (* x (+ (* -1/8 (/ (pow x 2) (pow (sqrt -1) 3))) (* 1/2 (/ 1 (sqrt -1))))))))
(fma.f32 (fma.f32 (/.f32 (+.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 (*.f32 #s(literal -1/8 binary32) x) x) #s(literal -1 binary32))) (sqrt.f32 #s(literal -1 binary32))) x #s(literal 1 binary32)) x (sqrt.f32 #s(literal -1 binary32)))
(* 2 x)
(*.f32 #s(literal 2 binary32) x)
(+ (sqrt -1) (* 1/2 (/ (pow x 2) (sqrt -1))))
(fma.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (sqrt.f32 #s(literal -1 binary32))) x) x (sqrt.f32 #s(literal -1 binary32)))
(+ (sqrt -1) (* (pow x 2) (+ (* -1/8 (/ (pow x 2) (pow (sqrt -1) 3))) (* 1/2 (/ 1 (sqrt -1))))))
(fma.f32 (/.f32 (+.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 (*.f32 #s(literal -1/8 binary32) x) x) #s(literal -1 binary32))) (sqrt.f32 #s(literal -1 binary32))) (*.f32 x x) (sqrt.f32 #s(literal -1 binary32)))
(+ (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.f32 (pow.f32 x #s(literal 4 binary32)) (-.f32 (/.f32 (*.f32 (*.f32 #s(literal 1/16 binary32) x) x) (pow.f32 (sqrt.f32 #s(literal -1 binary32)) #s(literal 5 binary32))) (/.f32 #s(literal -1/8 binary32) (sqrt.f32 #s(literal -1 binary32)))) (fma.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (sqrt.f32 #s(literal -1 binary32))) x) x (sqrt.f32 #s(literal -1 binary32))))
-1
#s(literal -1 binary32)
(- (pow x 2) 1)
(fma.f32 x x #s(literal -1 binary32))
1
#s(literal 1 binary32)
(+ 1 (* 1/2 x))
(fma.f32 #s(literal 1/2 binary32) x #s(literal 1 binary32))
(+ 1 (* x (+ 1/2 (* -1/8 x))))
(fma.f32 (fma.f32 #s(literal -1/8 binary32) x #s(literal 1/2 binary32)) x #s(literal 1 binary32))
(+ 1 (* x (+ 1/2 (* x (- (* 1/16 x) 1/8)))))
(fma.f32 (fma.f32 (fma.f32 #s(literal 1/16 binary32) x #s(literal -1/8 binary32)) x #s(literal 1/2 binary32)) x #s(literal 1 binary32))
(+ (sqrt -1) (* 1/2 (/ x (sqrt -1))))
(fma.f32 (/.f32 #s(literal 1/2 binary32) (sqrt.f32 #s(literal -1 binary32))) x (sqrt.f32 #s(literal -1 binary32)))
(+ (sqrt -1) (* x (+ (* -1/8 (/ x (pow (sqrt -1) 3))) (* 1/2 (/ 1 (sqrt -1))))))
(fma.f32 (fma.f32 #s(literal 1/8 binary32) (/.f32 x (sqrt.f32 #s(literal -1 binary32))) (/.f32 #s(literal 1/2 binary32) (sqrt.f32 #s(literal -1 binary32)))) x (sqrt.f32 #s(literal -1 binary32)))
(+ (sqrt -1) (* x (+ (* x (- (* 1/16 (/ x (pow (sqrt -1) 5))) (* 1/8 (/ 1 (pow (sqrt -1) 3))))) (* 1/2 (/ 1 (sqrt -1))))))
(fma.f32 (fma.f32 (-.f32 (*.f32 (/.f32 x (pow.f32 (sqrt.f32 #s(literal -1 binary32)) #s(literal 5 binary32))) #s(literal 1/16 binary32)) (/.f32 #s(literal -1/8 binary32) (sqrt.f32 #s(literal -1 binary32)))) x (/.f32 #s(literal 1/2 binary32) (sqrt.f32 #s(literal -1 binary32)))) x (sqrt.f32 #s(literal -1 binary32)))
(+ (log 2) (* -1 (log (/ 1 x))))
(+.f32 (log.f32 x) (log.f32 #s(literal 2 binary32)))
(- (+ (log 2) (* -1 (log (/ 1 x)))) (* 1/4 (/ 1 (pow x 2))))
(-.f32 (+.f32 (log.f32 x) (log.f32 #s(literal 2 binary32))) (/.f32 #s(literal 1/4 binary32) (*.f32 x x)))
(+ (log 2) (+ (* -1 (log (/ 1 x))) (* -1 (/ (+ 1/4 (* 3/32 (/ 1 (pow x 2)))) (pow x 2)))))
(-.f32 (+.f32 (log.f32 x) (log.f32 #s(literal 2 binary32))) (/.f32 (/.f32 (-.f32 (/.f32 #s(literal 3/32 binary32) (*.f32 x x)) #s(literal -1/4 binary32)) 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))))
(-.f32 (-.f32 (+.f32 (log.f32 x) (log.f32 #s(literal 2 binary32))) (/.f32 (-.f32 (/.f32 #s(literal 5/96 binary32) (*.f32 x x)) #s(literal -3/32 binary32)) (pow.f32 x #s(literal 4 binary32)))) (/.f32 #s(literal 1/4 binary32) (*.f32 x x)))
(* x (- 2 (* 1/2 (/ 1 (pow x 2)))))
(*.f32 (-.f32 #s(literal 2 binary32) (/.f32 #s(literal 1/2 binary32) (*.f32 x x))) x)
(* x (+ 2 (* -1 (/ (+ 1/2 (* 1/8 (/ 1 (pow x 2)))) (pow x 2)))))
(*.f32 (+.f32 (-.f32 #s(literal 2 binary32) (/.f32 #s(literal 1/2 binary32) (*.f32 x x))) (/.f32 #s(literal -1/8 binary32) (pow.f32 x #s(literal 4 binary32)))) x)
(* x (- (+ 2 (* -1 (/ (+ 1/8 (* 1/16 (/ 1 (pow x 2)))) (pow x 4)))) (* 1/2 (/ 1 (pow x 2)))))
(*.f32 (+.f32 (/.f32 (+.f32 (/.f32 #s(literal -1/16 binary32) (*.f32 x x)) #s(literal -1/8 binary32)) (pow.f32 x #s(literal 4 binary32))) (-.f32 #s(literal 2 binary32) (/.f32 #s(literal 1/2 binary32) (*.f32 x x)))) x)
x
(* x (- 1 (* 1/2 (/ 1 (pow x 2)))))
(fma.f32 (/.f32 #s(literal -1/2 binary32) (*.f32 x x)) x x)
(* x (+ 1 (* -1 (/ (+ 1/2 (* 1/8 (/ 1 (pow x 2)))) (pow x 2)))))
(fma.f32 (/.f32 (/.f32 (+.f32 (/.f32 #s(literal -1/8 binary32) (*.f32 x x)) #s(literal -1/2 binary32)) x) x) x x)
(* x (- (+ 1 (* -1 (/ (+ 1/8 (* 1/16 (/ 1 (pow x 2)))) (pow x 4)))) (* 1/2 (/ 1 (pow x 2)))))
(*.f32 (+.f32 (/.f32 (+.f32 (/.f32 #s(literal -1/16 binary32) (*.f32 x x)) #s(literal -1/8 binary32)) (pow.f32 x #s(literal 4 binary32))) (-.f32 #s(literal 1 binary32) (/.f32 #s(literal 1/2 binary32) (*.f32 x x)))) x)
(pow x 2)
(*.f32 x x)
(* (pow x 2) (- 1 (/ 1 (pow x 2))))
(*.f32 (*.f32 (-.f32 #s(literal 1 binary32) (/.f32 (/.f32 #s(literal 1 binary32) x) x)) x) x)
(sqrt x)
(sqrt.f32 x)
(* x (+ (sqrt (/ 1 x)) (* 1/2 (sqrt (/ 1 (pow x 3))))))
(*.f32 (fma.f32 (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 x #s(literal 3 binary32)))) #s(literal 1/2 binary32) (sqrt.f32 (/.f32 #s(literal 1 binary32) x))) x)
(* x (+ (sqrt (/ 1 x)) (+ (* -1/8 (sqrt (/ 1 (pow x 5)))) (* 1/2 (sqrt (/ 1 (pow x 3)))))))
(*.f32 (fma.f32 (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 x #s(literal 5 binary32)))) #s(literal -1/8 binary32) (fma.f32 (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 x #s(literal 3 binary32)))) #s(literal 1/2 binary32) (sqrt.f32 (/.f32 #s(literal 1 binary32) x)))) x)
(* x (+ (sqrt (/ 1 x)) (+ (* -1/8 (sqrt (/ 1 (pow x 5)))) (+ (* 1/16 (sqrt (/ 1 (pow x 7)))) (* 1/2 (sqrt (/ 1 (pow x 3))))))))
(*.f32 (+.f32 (fma.f32 (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 x #s(literal 7 binary32)))) #s(literal 1/16 binary32) (fma.f32 (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 x #s(literal 5 binary32)))) #s(literal -1/8 binary32) (*.f32 (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 x #s(literal 3 binary32)))) #s(literal 1/2 binary32)))) (sqrt.f32 (/.f32 #s(literal 1 binary32) x))) x)
(* x (+ (sqrt (/ 1 x)) (* -1/2 (sqrt (/ 1 (pow x 3))))))
(*.f32 (fma.f32 #s(literal -1/2 binary32) (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 x #s(literal 3 binary32)))) (sqrt.f32 (/.f32 #s(literal 1 binary32) x))) x)
(* x (+ (sqrt (/ 1 x)) (+ (* -1/2 (sqrt (/ 1 (pow x 3)))) (* -1/8 (sqrt (/ 1 (pow x 5)))))))
(*.f32 (fma.f32 (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 x #s(literal 5 binary32)))) #s(literal -1/8 binary32) (fma.f32 #s(literal -1/2 binary32) (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 x #s(literal 3 binary32)))) (sqrt.f32 (/.f32 #s(literal 1 binary32) x)))) x)
(* x (+ (sqrt (/ 1 x)) (+ (* -1/2 (sqrt (/ 1 (pow x 3)))) (+ (* -1/8 (sqrt (/ 1 (pow x 5)))) (* -1/16 (sqrt (/ 1 (pow x 7))))))))
(*.f32 (+.f32 (fma.f32 #s(literal -1/16 binary32) (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 x #s(literal 7 binary32)))) (fma.f32 #s(literal -1/2 binary32) (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 x #s(literal 3 binary32)))) (*.f32 (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 x #s(literal 5 binary32)))) #s(literal -1/8 binary32)))) (sqrt.f32 (/.f32 #s(literal 1 binary32) x))) x)
(+ (log -1/2) (log (/ -1 x)))
(+.f32 (log.f32 (/.f32 #s(literal -1 binary32) x)) (log.f32 #s(literal -1/2 binary32)))
(+ (log -1/2) (+ (log (/ -1 x)) (* 1/4 (/ 1 (pow x 2)))))
(-.f32 (+.f32 (log.f32 (/.f32 #s(literal -1 binary32) x)) (log.f32 #s(literal -1/2 binary32))) (/.f32 #s(literal -1/4 binary32) (*.f32 x x)))
(+ (log -1/2) (+ (log (/ -1 x)) (+ (/ 3/32 (pow x 4)) (* 1/4 (/ 1 (pow x 2))))))
(+.f32 (+.f32 (/.f32 #s(literal 3/32 binary32) (pow.f32 x #s(literal 4 binary32))) (-.f32 (log.f32 (/.f32 #s(literal -1 binary32) x)) (/.f32 #s(literal -1/4 binary32) (*.f32 x x)))) (log.f32 #s(literal -1/2 binary32)))
(+ (log -1/2) (+ (log (/ -1 x)) (+ (/ 3/32 (pow x 4)) (+ (* 1/4 (/ 1 (pow x 2))) (* 5/96 (/ 1 (pow x 6)))))))
(+.f32 (-.f32 (+.f32 (/.f32 #s(literal 3/32 binary32) (pow.f32 x #s(literal 4 binary32))) (-.f32 (log.f32 (/.f32 #s(literal -1 binary32) x)) (/.f32 #s(literal -1/4 binary32) (*.f32 x x)))) (/.f32 #s(literal -5/96 binary32) (pow.f32 x #s(literal 6 binary32)))) (log.f32 #s(literal -1/2 binary32)))
(/ 1/2 x)
(/.f32 #s(literal 1/2 binary32) x)
(/ (+ 1/2 (* 1/8 (/ 1 (pow x 2)))) x)
(/.f32 (-.f32 (/.f32 #s(literal 1/8 binary32) (*.f32 x x)) #s(literal -1/2 binary32)) x)
(* -1 (/ (- (* -1 (/ (+ 1/8 (* 1/16 (/ 1 (pow x 2)))) (pow x 2))) 1/2) x))
(/.f32 (-.f32 (/.f32 (/.f32 (+.f32 (/.f32 #s(literal -1/16 binary32) (*.f32 x x)) #s(literal -1/8 binary32)) x) x) #s(literal 1/2 binary32)) (neg.f32 x))
(* -1 (/ (- (* -1 (/ (+ 1/16 (* 5/128 (/ 1 (pow x 2)))) (pow x 4))) (+ 1/2 (* 1/8 (/ 1 (pow x 2))))) x))
(/.f32 (-.f32 (/.f32 (+.f32 (/.f32 #s(literal -5/128 binary32) (*.f32 x x)) #s(literal -1/16 binary32)) (pow.f32 x #s(literal 4 binary32))) (-.f32 (/.f32 #s(literal 1/8 binary32) (*.f32 x x)) #s(literal -1/2 binary32))) (neg.f32 x))
(* -1 x)
(neg.f32 x)
(* -1 (* x (- 1 (* 1/2 (/ 1 (pow x 2))))))
(*.f32 (-.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 x x)) #s(literal 1 binary32)) x)
(* -1 (* x (+ 1 (* -1 (/ (+ 1/2 (* 1/8 (/ 1 (pow x 2)))) (pow x 2))))))
(fma.f32 (/.f32 (/.f32 (-.f32 (/.f32 #s(literal 1/8 binary32) (*.f32 x x)) #s(literal -1/2 binary32)) x) x) x (neg.f32 x))
(* -1 (* x (- (+ 1 (* -1 (/ (+ 1/8 (* 1/16 (/ 1 (pow x 2)))) (pow x 4)))) (* 1/2 (/ 1 (pow x 2))))))
(*.f32 (+.f32 (/.f32 (-.f32 (/.f32 #s(literal 1/16 binary32) (*.f32 x x)) #s(literal -1/8 binary32)) (pow.f32 x #s(literal 4 binary32))) (-.f32 (/.f32 #s(literal 1/2 binary32) (*.f32 x x)) #s(literal 1 binary32))) x)
(* -1 (* x (- (pow (sqrt -1) 2) 1)))
(*.f32 #s(literal 2 binary32) x)
(* -1 (* x (- (+ (* 1/2 (/ 1 (pow x 2))) (pow (sqrt -1) 2)) 1)))
(*.f32 (-.f32 #s(literal 2 binary32) (/.f32 #s(literal 1/2 binary32) (*.f32 x x))) x)
(* -1 (* x (- (+ (* 1/2 (/ 1 (pow x 2))) (pow (sqrt -1) 2)) (+ 1 (/ 1/8 (* (pow x 4) (pow (sqrt -1) 2)))))))
(*.f32 (+.f32 (-.f32 #s(literal 2 binary32) (/.f32 #s(literal 1/2 binary32) (*.f32 x x))) (/.f32 #s(literal -1/8 binary32) (pow.f32 x #s(literal 4 binary32)))) x)
(* -1 (* x (- (+ (* 1/16 (/ 1 (* (pow x 6) (pow (sqrt -1) 4)))) (+ (* 1/2 (/ 1 (pow x 2))) (pow (sqrt -1) 2))) (+ 1 (* 1/8 (/ 1 (* (pow x 4) (pow (sqrt -1) 2))))))))
(*.f32 (neg.f32 x) (+.f32 (/.f32 #s(literal 1/16 binary32) (pow.f32 x #s(literal 6 binary32))) (-.f32 (+.f32 #s(literal -2 binary32) (/.f32 #s(literal 1/2 binary32) (*.f32 x x))) (/.f32 #s(literal -1/8 binary32) (pow.f32 x #s(literal 4 binary32))))))
(+ (log (- (pow (sqrt -1) 2) 1)) (* -1 (log (/ -1 x))))
(-.f32 (log.f32 #s(literal -2 binary32)) (log.f32 (/.f32 #s(literal -1 binary32) x)))
(+ (log (- (pow (sqrt -1) 2) 1)) (+ (* -1 (log (/ -1 x))) (* 1/2 (/ 1 (* (pow x 2) (- (pow (sqrt -1) 2) 1))))))
(-.f32 (-.f32 (log.f32 #s(literal -2 binary32)) (log.f32 (/.f32 #s(literal -1 binary32) x))) (/.f32 #s(literal 1/4 binary32) (*.f32 x x)))
(+ (log (- (pow (sqrt -1) 2) 1)) (+ (* -1 (log (/ -1 x))) (+ (* -1/24 (/ (+ (* 3 (/ 1 (* (pow (sqrt -1) 2) (- (pow (sqrt -1) 2) 1)))) (* 3 (/ 1 (pow (- (pow (sqrt -1) 2) 1) 2)))) (pow x 4))) (/ 1/2 (* (pow x 2) (- (pow (sqrt -1) 2) 1))))))
(+.f32 (-.f32 (-.f32 (/.f32 #s(literal -3/32 binary32) (pow.f32 x #s(literal 4 binary32))) (/.f32 #s(literal 1/4 binary32) (*.f32 x x))) (log.f32 (/.f32 #s(literal -1 binary32) x))) (log.f32 #s(literal -2 binary32)))
(+ (log (- (pow (sqrt -1) 2) 1)) (+ (* -1 (log (/ -1 x))) (+ (* -1/24 (/ (+ (* 3 (/ 1 (* (pow (sqrt -1) 2) (- (pow (sqrt -1) 2) 1)))) (* 3 (/ 1 (pow (- (pow (sqrt -1) 2) 1) 2)))) (pow x 4))) (+ (* 1/720 (/ (+ (* 45 (/ 1 (* (pow (sqrt -1) 2) (pow (- (pow (sqrt -1) 2) 1) 2)))) (+ (* 45 (/ 1 (* (pow (sqrt -1) 4) (- (pow (sqrt -1) 2) 1)))) (* 30 (/ 1 (pow (- (pow (sqrt -1) 2) 1) 3))))) (pow x 6))) (/ 1/2 (* (pow x 2) (- (pow (sqrt -1) 2) 1)))))))
(+.f32 (-.f32 (+.f32 (/.f32 #s(literal -5/96 binary32) (pow.f32 x #s(literal 6 binary32))) (-.f32 (/.f32 #s(literal -3/32 binary32) (pow.f32 x #s(literal 4 binary32))) (/.f32 #s(literal 1/4 binary32) (*.f32 x x)))) (log.f32 (/.f32 #s(literal -1 binary32) x))) (log.f32 #s(literal -2 binary32)))
(* -1 (* x (pow (sqrt -1) 2)))
x
(* -1 (* x (+ (* 1/2 (/ 1 (pow x 2))) (pow (sqrt -1) 2))))
(fma.f32 (/.f32 #s(literal -1/2 binary32) (*.f32 x x)) x x)
(* -1 (* x (- (+ (* 1/2 (/ 1 (pow x 2))) (pow (sqrt -1) 2)) (/ 1/8 (* (pow x 4) (pow (sqrt -1) 2))))))
(fma.f32 (/.f32 (/.f32 (+.f32 (/.f32 #s(literal -1/8 binary32) (*.f32 x x)) #s(literal -1/2 binary32)) x) x) x x)
(* -1 (* x (- (+ (* 1/16 (/ 1 (* (pow x 6) (pow (sqrt -1) 4)))) (+ (* 1/2 (/ 1 (pow x 2))) (pow (sqrt -1) 2))) (* 1/8 (/ 1 (* (pow x 4) (pow (sqrt -1) 2)))))))
(*.f32 (neg.f32 x) (-.f32 (+.f32 (-.f32 (/.f32 #s(literal 1/16 binary32) (pow.f32 x #s(literal 6 binary32))) #s(literal 1 binary32)) (/.f32 #s(literal 1/2 binary32) (*.f32 x x))) (/.f32 #s(literal -1/8 binary32) (pow.f32 x #s(literal 4 binary32)))))
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(*.f32 (sqrt.f32 x) #s(literal 1 binary32))
(* -1 (* x (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))
(*.f32 (fma.f32 #s(literal -1/2 binary32) (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 x #s(literal 3 binary32)))) (sqrt.f32 (/.f32 #s(literal 1 binary32) x))) x)
(* -1 (* x (+ (* -1/8 (* (sqrt (/ 1 (pow x 5))) (/ 1 (pow (sqrt -1) 2)))) (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2))))))
(*.f32 (fma.f32 (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 x #s(literal 5 binary32)))) #s(literal -1/8 binary32) (fma.f32 #s(literal -1/2 binary32) (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 x #s(literal 3 binary32)))) (sqrt.f32 (/.f32 #s(literal 1 binary32) x)))) x)
(* -1 (* x (+ (* -1/8 (* (sqrt (/ 1 (pow x 5))) (/ 1 (pow (sqrt -1) 2)))) (+ (* 1/16 (* (sqrt (/ 1 (pow x 7))) (/ 1 (pow (sqrt -1) 4)))) (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))))
(*.f32 (fma.f32 #s(literal -1/16 binary32) (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 x #s(literal 7 binary32)))) (fma.f32 (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 x #s(literal 5 binary32)))) #s(literal -1/8 binary32) (fma.f32 #s(literal -1/2 binary32) (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 x #s(literal 3 binary32)))) (*.f32 (sqrt.f32 (/.f32 #s(literal 1 binary32) x)) #s(literal 1 binary32))))) x)
(* -1 (* x (+ (* 1/2 (* (sqrt (/ 1 (pow x 3))) (pow (sqrt -1) 2))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))
(*.f32 (fma.f32 (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 x #s(literal 3 binary32)))) #s(literal 1/2 binary32) (sqrt.f32 (/.f32 #s(literal 1 binary32) x))) x)
(* -1 (* x (+ (* -1/8 (* (sqrt (/ 1 (pow x 5))) (pow (sqrt -1) 2))) (+ (* 1/2 (* (sqrt (/ 1 (pow x 3))) (pow (sqrt -1) 2))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2))))))
(*.f32 (fma.f32 (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 x #s(literal 5 binary32)))) #s(literal -1/8 binary32) (fma.f32 (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 x #s(literal 3 binary32)))) #s(literal 1/2 binary32) (sqrt.f32 (/.f32 #s(literal 1 binary32) x)))) x)
(* -1 (* x (+ (* -1/8 (* (sqrt (/ 1 (pow x 5))) (pow (sqrt -1) 2))) (+ (* 1/16 (* (sqrt (/ 1 (pow x 7))) (pow (sqrt -1) 2))) (+ (* 1/2 (* (sqrt (/ 1 (pow x 3))) (pow (sqrt -1) 2))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))))
(*.f32 (fma.f32 (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 x #s(literal 5 binary32)))) #s(literal -1/8 binary32) (fma.f32 (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 x #s(literal 7 binary32)))) #s(literal 1/16 binary32) (fma.f32 (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 x #s(literal 3 binary32)))) #s(literal 1/2 binary32) (*.f32 (sqrt.f32 (/.f32 #s(literal 1 binary32) x)) #s(literal 1 binary32))))) x)

rewrite107.0ms (3.6%)

Memory
-18.1MiB live, 86.1MiB allocated; 25ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02394
03756
113856
096856
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
13 → 155
Calls
Call 1
Inputs
(acosh.f32 x)
(log.f32 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f32 #s(literal 2 binary32) x)))
#s(approx (+ x (sqrt (- (* x x) 1))) (*.f32 #s(literal 2 binary32) x))
(*.f32 #s(literal 2 binary32) x)
(log.f32 (+.f32 x (sqrt.f32 (fma.f32 x x #s(literal -1 binary32)))))
(+.f32 x (sqrt.f32 (fma.f32 x x #s(literal -1 binary32))))
(sqrt.f32 (fma.f32 x x #s(literal -1 binary32)))
(fma.f32 x x #s(literal -1 binary32))
(+.f32 x (*.f32 (sqrt.f32 (-.f32 x #s(literal -1 binary32))) (sqrt.f32 (-.f32 x #s(literal 1 binary32)))))
(log.f32 (+.f32 x (*.f32 (sqrt.f32 (-.f32 x #s(literal -1 binary32))) (sqrt.f32 (-.f32 x #s(literal 1 binary32))))))
(*.f32 (sqrt.f32 (-.f32 x #s(literal -1 binary32))) (sqrt.f32 (-.f32 x #s(literal 1 binary32))))
(sqrt.f32 (-.f32 x #s(literal -1 binary32)))
(sqrt.f32 (-.f32 x #s(literal 1 binary32)))
Outputs
(acosh.f32 x)
(log.f32 (+.f32 (sinh.f32 (acosh.f32 x)) x))
(-.f32 (log.f32 (-.f32 (*.f32 x x) (fma.f32 x x #s(literal -1 binary32)))) (log.f32 (-.f32 x (sinh.f32 (acosh.f32 x)))))
(-.f32 (log.f32 (+.f32 (pow.f32 (sinh.f32 (acosh.f32 x)) #s(literal 3 binary32)) (pow.f32 x #s(literal 3 binary32)))) (log.f32 (fma.f32 (sinh.f32 (acosh.f32 x)) (-.f32 (sinh.f32 (acosh.f32 x)) x) (*.f32 x x))))
(log.f32 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f32 #s(literal 2 binary32) x)))
#s(approx (+ x (sqrt (- (* x x) 1))) (*.f32 #s(literal 2 binary32) x))
(*.f32 #s(literal 2 binary32) x)
(*.f32 x #s(literal 2 binary32))
(/.f32 (-.f32 (*.f32 x x) (*.f32 x x)) (-.f32 x x))
(/.f32 (+.f32 (pow.f32 x #s(literal 3 binary32)) (pow.f32 x #s(literal 3 binary32))) (fma.f32 x x (-.f32 (*.f32 x x) (*.f32 x x))))
(+.f32 x x)
(acosh.f32 x)
(log.f32 (+.f32 (sinh.f32 (acosh.f32 x)) x))
(-.f32 (log.f32 (-.f32 (*.f32 x x) (fma.f32 x x #s(literal -1 binary32)))) (log.f32 (-.f32 x (sinh.f32 (acosh.f32 x)))))
(-.f32 (log.f32 (+.f32 (pow.f32 (sinh.f32 (acosh.f32 x)) #s(literal 3 binary32)) (pow.f32 x #s(literal 3 binary32)))) (log.f32 (fma.f32 (sinh.f32 (acosh.f32 x)) (-.f32 (sinh.f32 (acosh.f32 x)) x) (*.f32 x x))))
(/.f32 (-.f32 (fma.f32 x x #s(literal -1 binary32)) (*.f32 x x)) (-.f32 (sinh.f32 (acosh.f32 x)) x))
(/.f32 (-.f32 (pow.f32 x #s(literal 3 binary32)) (pow.f32 (neg.f32 (sinh.f32 (acosh.f32 x))) #s(literal 3 binary32))) (fma.f32 x x (+.f32 (fma.f32 x x #s(literal -1 binary32)) (*.f32 x (neg.f32 (sinh.f32 (acosh.f32 x)))))))
(/.f32 (neg.f32 (-.f32 (*.f32 x x) (fma.f32 x x #s(literal -1 binary32)))) (neg.f32 (-.f32 x (sinh.f32 (acosh.f32 x)))))
(/.f32 (neg.f32 (+.f32 (pow.f32 (sinh.f32 (acosh.f32 x)) #s(literal 3 binary32)) (pow.f32 x #s(literal 3 binary32)))) (neg.f32 (fma.f32 (sinh.f32 (acosh.f32 x)) (-.f32 (sinh.f32 (acosh.f32 x)) x) (*.f32 x x))))
(/.f32 (-.f32 (*.f32 x x) (fma.f32 x x #s(literal -1 binary32))) (-.f32 x (sinh.f32 (acosh.f32 x))))
(/.f32 (+.f32 (pow.f32 (sinh.f32 (acosh.f32 x)) #s(literal 3 binary32)) (pow.f32 x #s(literal 3 binary32))) (+.f32 (fma.f32 x x #s(literal -1 binary32)) (-.f32 (*.f32 x x) (*.f32 (sinh.f32 (acosh.f32 x)) x))))
(/.f32 (+.f32 (pow.f32 (sinh.f32 (acosh.f32 x)) #s(literal 3 binary32)) (pow.f32 x #s(literal 3 binary32))) (fma.f32 (sinh.f32 (acosh.f32 x)) (-.f32 (sinh.f32 (acosh.f32 x)) x) (*.f32 x x)))
(-.f32 (/.f32 (*.f32 x x) (-.f32 x (sinh.f32 (acosh.f32 x)))) (/.f32 (fma.f32 x x #s(literal -1 binary32)) (-.f32 x (sinh.f32 (acosh.f32 x)))))
(-.f32 x (*.f32 (neg.f32 (sqrt.f32 (-.f32 x #s(literal 1 binary32)))) (sqrt.f32 (-.f32 x #s(literal -1 binary32)))))
(-.f32 x (neg.f32 (sinh.f32 (acosh.f32 x))))
(fma.f32 (pow.f32 (fma.f32 x x #s(literal -1 binary32)) #s(literal 1/4 binary32)) (pow.f32 (fma.f32 x x #s(literal -1 binary32)) #s(literal 1/4 binary32)) x)
(fma.f32 (sqrt.f32 (-.f32 x #s(literal 1 binary32))) (sqrt.f32 (-.f32 x #s(literal -1 binary32))) x)
(fma.f32 (sqrt.f32 (-.f32 x #s(literal -1 binary32))) (sqrt.f32 (-.f32 x #s(literal 1 binary32))) x)
(+.f32 (/.f32 (pow.f32 x #s(literal 3 binary32)) (fma.f32 (sinh.f32 (acosh.f32 x)) (-.f32 (sinh.f32 (acosh.f32 x)) x) (*.f32 x x))) (/.f32 (pow.f32 (sinh.f32 (acosh.f32 x)) #s(literal 3 binary32)) (fma.f32 (sinh.f32 (acosh.f32 x)) (-.f32 (sinh.f32 (acosh.f32 x)) x) (*.f32 x x))))
(+.f32 (sinh.f32 (acosh.f32 x)) x)
(+.f32 x (*.f32 (neg.f32 (neg.f32 (sqrt.f32 (-.f32 x #s(literal -1 binary32))))) (sqrt.f32 (-.f32 x #s(literal 1 binary32)))))
(+.f32 x (sinh.f32 (acosh.f32 x)))
(*.f32 (pow.f32 (fma.f32 x x #s(literal -1 binary32)) #s(literal 1/4 binary32)) (pow.f32 (fma.f32 x x #s(literal -1 binary32)) #s(literal 1/4 binary32)))
(*.f32 (sqrt.f32 (-.f32 x #s(literal 1 binary32))) (sqrt.f32 (-.f32 x #s(literal -1 binary32))))
(*.f32 (sqrt.f32 (-.f32 x #s(literal -1 binary32))) (sqrt.f32 (-.f32 x #s(literal 1 binary32))))
(sqrt.f32 (fma.f32 x x #s(literal -1 binary32)))
(/.f32 (sqrt.f32 (-.f32 (pow.f32 x #s(literal 4 binary32)) #s(literal 1 binary32))) (sqrt.f32 (fma.f32 x x #s(literal 1 binary32))))
(/.f32 (sqrt.f32 (-.f32 (pow.f32 x #s(literal 6 binary32)) #s(literal 1 binary32))) (sqrt.f32 (+.f32 (fma.f32 x x #s(literal 1 binary32)) (pow.f32 x #s(literal 4 binary32)))))
(/.f32 (sqrt.f32 (-.f32 (pow.f32 x #s(literal 6 binary32)) #s(literal 1 binary32))) (sqrt.f32 (fma.f32 #s(literal -1 binary32) (-.f32 #s(literal -1 binary32) (*.f32 x x)) (pow.f32 x #s(literal 4 binary32)))))
(/.f32 (-.f32 (exp.f32 (acosh.f32 x)) (exp.f32 (neg.f32 (acosh.f32 x)))) #s(literal 2 binary32))
(pow.f32 (fma.f32 x x #s(literal -1 binary32)) #s(literal 1/2 binary32))
(exp.f32 (*.f32 (log.f32 (fma.f32 x x #s(literal -1 binary32))) #s(literal 1/2 binary32)))
(sinh.f32 (acosh.f32 (neg.f32 x)))
(sinh.f32 (acosh.f32 (fabs.f32 x)))
(sinh.f32 (acosh.f32 x))
(expm1.f32 (*.f32 (log.f32 x) #s(literal 2 binary32)))
(*.f32 (*.f32 (sinh.f32 (acosh.f32 x)) (sqrt.f32 (-.f32 x #s(literal 1 binary32)))) (sqrt.f32 (-.f32 x #s(literal -1 binary32))))
(*.f32 (*.f32 (sinh.f32 (acosh.f32 x)) (sqrt.f32 (-.f32 x #s(literal -1 binary32)))) (sqrt.f32 (-.f32 x #s(literal 1 binary32))))
(*.f32 (+.f32 (neg.f32 x) #s(literal -1 binary32)) (-.f32 (neg.f32 x) #s(literal -1 binary32)))
(*.f32 (+.f32 (neg.f32 x) #s(literal 1 binary32)) (-.f32 (neg.f32 x) #s(literal 1 binary32)))
(*.f32 (+.f32 (fabs.f32 x) #s(literal -1 binary32)) (-.f32 (fabs.f32 x) #s(literal -1 binary32)))
(*.f32 (+.f32 (fabs.f32 x) #s(literal 1 binary32)) (-.f32 (fabs.f32 x) #s(literal 1 binary32)))
(*.f32 (*.f32 (sqrt.f32 (-.f32 x #s(literal 1 binary32))) (sqrt.f32 (-.f32 x #s(literal 1 binary32)))) (*.f32 (sqrt.f32 (-.f32 x #s(literal -1 binary32))) (sqrt.f32 (-.f32 x #s(literal -1 binary32)))))
(*.f32 (*.f32 (sqrt.f32 (-.f32 x #s(literal -1 binary32))) (sqrt.f32 (-.f32 x #s(literal -1 binary32)))) (*.f32 (sqrt.f32 (-.f32 x #s(literal 1 binary32))) (sqrt.f32 (-.f32 x #s(literal 1 binary32)))))
(*.f32 (fabs.f32 (sinh.f32 (acosh.f32 x))) (fabs.f32 (sinh.f32 (acosh.f32 x))))
(*.f32 (neg.f32 (sinh.f32 (acosh.f32 x))) (neg.f32 (sinh.f32 (acosh.f32 x))))
(*.f32 (-.f32 x #s(literal -1 binary32)) (-.f32 x #s(literal 1 binary32)))
(*.f32 (sqrt.f32 (-.f32 x #s(literal 1 binary32))) (*.f32 (sqrt.f32 (-.f32 x #s(literal -1 binary32))) (sinh.f32 (acosh.f32 x))))
(*.f32 (-.f32 x #s(literal 1 binary32)) (-.f32 x #s(literal -1 binary32)))
(*.f32 (sqrt.f32 (-.f32 x #s(literal -1 binary32))) (*.f32 (sqrt.f32 (-.f32 x #s(literal 1 binary32))) (sinh.f32 (acosh.f32 x))))
(*.f32 (sinh.f32 (acosh.f32 x)) (sinh.f32 (acosh.f32 x)))
(sqrt.f32 (*.f32 (fma.f32 x x #s(literal -1 binary32)) (fma.f32 x x #s(literal -1 binary32))))
(/.f32 (*.f32 (-.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal -1 binary32)) (-.f32 x #s(literal 1 binary32))) (fma.f32 x x (fma.f32 #s(literal -1 binary32) x #s(literal 1 binary32))))
(/.f32 (*.f32 (fma.f32 x x #s(literal -1 binary32)) (-.f32 x #s(literal 1 binary32))) (-.f32 x #s(literal 1 binary32)))
(/.f32 (*.f32 (-.f32 x #s(literal -1 binary32)) (-.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal 1 binary32))) (fma.f32 x x (-.f32 x #s(literal -1 binary32))))
(/.f32 (*.f32 (-.f32 x #s(literal -1 binary32)) (fma.f32 x x #s(literal -1 binary32))) (-.f32 x #s(literal -1 binary32)))
(/.f32 (-.f32 #s(literal 1 binary32) (pow.f32 x #s(literal 4 binary32))) (-.f32 #s(literal -1 binary32) (*.f32 x x)))
(/.f32 (neg.f32 (-.f32 (pow.f32 x #s(literal 4 binary32)) #s(literal 1 binary32))) (neg.f32 (fma.f32 x x #s(literal 1 binary32))))
(/.f32 (neg.f32 (-.f32 (pow.f32 x #s(literal 6 binary32)) #s(literal 1 binary32))) (neg.f32 (+.f32 (fma.f32 x x #s(literal 1 binary32)) (pow.f32 x #s(literal 4 binary32)))))
(/.f32 (neg.f32 (-.f32 (pow.f32 x #s(literal 6 binary32)) #s(literal 1 binary32))) (neg.f32 (fma.f32 #s(literal -1 binary32) (-.f32 #s(literal -1 binary32) (*.f32 x x)) (pow.f32 x #s(literal 4 binary32)))))
(/.f32 (*.f32 (-.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal -1 binary32)) (-.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal 1 binary32))) (*.f32 (fma.f32 x x (fma.f32 #s(literal -1 binary32) x #s(literal 1 binary32))) (fma.f32 x x (-.f32 x #s(literal -1 binary32)))))
(/.f32 (*.f32 (-.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal -1 binary32)) (fma.f32 x x #s(literal -1 binary32))) (-.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal -1 binary32)))
(/.f32 (*.f32 (fma.f32 x x #s(literal -1 binary32)) (-.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal 1 binary32))) (*.f32 (-.f32 x #s(literal 1 binary32)) (fma.f32 x x (-.f32 x #s(literal -1 binary32)))))
(/.f32 (*.f32 (fma.f32 x x #s(literal -1 binary32)) (fma.f32 x x #s(literal -1 binary32))) (fma.f32 x x #s(literal -1 binary32)))
(/.f32 (-.f32 (pow.f32 x #s(literal 4 binary32)) #s(literal 1 binary32)) (fma.f32 x x #s(literal 1 binary32)))
(/.f32 (-.f32 (pow.f32 x #s(literal 6 binary32)) #s(literal 1 binary32)) (+.f32 #s(literal 1 binary32) (-.f32 (pow.f32 x #s(literal 4 binary32)) (*.f32 #s(literal -1 binary32) (*.f32 x x)))))
(/.f32 (-.f32 (pow.f32 x #s(literal 6 binary32)) #s(literal 1 binary32)) (+.f32 (fma.f32 x x #s(literal 1 binary32)) (pow.f32 x #s(literal 4 binary32))))
(/.f32 (-.f32 (pow.f32 x #s(literal 6 binary32)) #s(literal 1 binary32)) (fma.f32 #s(literal -1 binary32) (-.f32 #s(literal -1 binary32) (*.f32 x x)) (pow.f32 x #s(literal 4 binary32))))
(-.f32 (/.f32 (pow.f32 x #s(literal 4 binary32)) (fma.f32 x x #s(literal 1 binary32))) (/.f32 #s(literal 1 binary32) (fma.f32 x x #s(literal 1 binary32))))
(-.f32 (/.f32 (pow.f32 x #s(literal 6 binary32)) (+.f32 (fma.f32 x x #s(literal 1 binary32)) (pow.f32 x #s(literal 4 binary32)))) (/.f32 #s(literal 1 binary32) (+.f32 (fma.f32 x x #s(literal 1 binary32)) (pow.f32 x #s(literal 4 binary32)))))
(-.f32 #s(literal -1 binary32) (*.f32 (neg.f32 (neg.f32 x)) (neg.f32 x)))
(-.f32 #s(literal -1 binary32) (*.f32 (neg.f32 (fabs.f32 x)) (fabs.f32 x)))
(-.f32 #s(literal -1 binary32) (*.f32 (neg.f32 x) x))
(-.f32 #s(literal -1 binary32) (*.f32 x (neg.f32 x)))
(-.f32 (*.f32 x x) #s(literal 1 binary32))
(fma.f32 (*.f32 (neg.f32 x) #s(literal -1 binary32)) (*.f32 (neg.f32 x) #s(literal -1 binary32)) #s(literal -1 binary32))
(fma.f32 (*.f32 (neg.f32 x) #s(literal 1 binary32)) (*.f32 (neg.f32 x) #s(literal 1 binary32)) #s(literal -1 binary32))
(fma.f32 (*.f32 (fabs.f32 x) #s(literal -1 binary32)) (*.f32 (fabs.f32 x) #s(literal -1 binary32)) #s(literal -1 binary32))
(fma.f32 (*.f32 (fabs.f32 x) #s(literal 1 binary32)) (*.f32 (fabs.f32 x) #s(literal 1 binary32)) #s(literal -1 binary32))
(fma.f32 (neg.f32 (neg.f32 x)) (neg.f32 (neg.f32 x)) #s(literal -1 binary32))
(fma.f32 (neg.f32 (fabs.f32 x)) (neg.f32 (fabs.f32 x)) #s(literal -1 binary32))
(fma.f32 (fabs.f32 (fabs.f32 x)) (fabs.f32 (fabs.f32 x)) #s(literal -1 binary32))
(fma.f32 (pow.f32 x #s(literal 1 binary32)) (pow.f32 x #s(literal 1 binary32)) #s(literal -1 binary32))
(fma.f32 (pow.f32 x #s(literal 1 binary32)) x #s(literal -1 binary32))
(fma.f32 (*.f32 #s(literal -1 binary32) x) (*.f32 #s(literal -1 binary32) x) #s(literal -1 binary32))
(fma.f32 (*.f32 #s(literal -1 binary32) (*.f32 x x)) #s(literal -1 binary32) #s(literal -1 binary32))
(fma.f32 (neg.f32 x) (*.f32 (neg.f32 x) #s(literal 1 binary32)) #s(literal -1 binary32))
(fma.f32 (neg.f32 x) (neg.f32 x) #s(literal -1 binary32))
(fma.f32 (fabs.f32 x) (*.f32 (fabs.f32 x) #s(literal 1 binary32)) #s(literal -1 binary32))
(fma.f32 (fabs.f32 x) (fabs.f32 x) #s(literal -1 binary32))
(fma.f32 #s(literal 1 binary32) (*.f32 x x) #s(literal -1 binary32))
(fma.f32 (*.f32 x x) #s(literal 1 binary32) #s(literal -1 binary32))
(fma.f32 x x #s(literal -1 binary32))
(pow.f32 (*.f32 (fma.f32 x x #s(literal -1 binary32)) (fma.f32 x x #s(literal -1 binary32))) #s(literal 1/2 binary32))
(pow.f32 (sinh.f32 (acosh.f32 x)) #s(literal 2 binary32))
(pow.f32 (fma.f32 x x #s(literal -1 binary32)) #s(literal 1 binary32))
(+.f32 (/.f32 (pow.f32 x #s(literal 6 binary32)) (fma.f32 #s(literal -1 binary32) (-.f32 #s(literal -1 binary32) (*.f32 x x)) (pow.f32 x #s(literal 4 binary32)))) (/.f32 #s(literal -1 binary32) (fma.f32 #s(literal -1 binary32) (-.f32 #s(literal -1 binary32) (*.f32 x x)) (pow.f32 x #s(literal 4 binary32)))))
(+.f32 #s(literal -1 binary32) (*.f32 x x))
(+.f32 (*.f32 x x) #s(literal -1 binary32))
(/.f32 (-.f32 (fma.f32 x x #s(literal -1 binary32)) (*.f32 x x)) (-.f32 (sinh.f32 (acosh.f32 x)) x))
(/.f32 (-.f32 (pow.f32 x #s(literal 3 binary32)) (pow.f32 (neg.f32 (sinh.f32 (acosh.f32 x))) #s(literal 3 binary32))) (fma.f32 x x (+.f32 (fma.f32 x x #s(literal -1 binary32)) (*.f32 x (neg.f32 (sinh.f32 (acosh.f32 x)))))))
(/.f32 (neg.f32 (-.f32 (*.f32 x x) (fma.f32 x x #s(literal -1 binary32)))) (neg.f32 (-.f32 x (sinh.f32 (acosh.f32 x)))))
(/.f32 (neg.f32 (+.f32 (pow.f32 (sinh.f32 (acosh.f32 x)) #s(literal 3 binary32)) (pow.f32 x #s(literal 3 binary32)))) (neg.f32 (fma.f32 (sinh.f32 (acosh.f32 x)) (-.f32 (sinh.f32 (acosh.f32 x)) x) (*.f32 x x))))
(/.f32 (-.f32 (*.f32 x x) (fma.f32 x x #s(literal -1 binary32))) (-.f32 x (sinh.f32 (acosh.f32 x))))
(/.f32 (+.f32 (pow.f32 (sinh.f32 (acosh.f32 x)) #s(literal 3 binary32)) (pow.f32 x #s(literal 3 binary32))) (+.f32 (fma.f32 x x #s(literal -1 binary32)) (-.f32 (*.f32 x x) (*.f32 (sinh.f32 (acosh.f32 x)) x))))
(/.f32 (+.f32 (pow.f32 (sinh.f32 (acosh.f32 x)) #s(literal 3 binary32)) (pow.f32 x #s(literal 3 binary32))) (fma.f32 (sinh.f32 (acosh.f32 x)) (-.f32 (sinh.f32 (acosh.f32 x)) x) (*.f32 x x)))
(-.f32 (/.f32 (*.f32 x x) (-.f32 x (sinh.f32 (acosh.f32 x)))) (/.f32 (fma.f32 x x #s(literal -1 binary32)) (-.f32 x (sinh.f32 (acosh.f32 x)))))
(-.f32 x (*.f32 (neg.f32 (sqrt.f32 (-.f32 x #s(literal 1 binary32)))) (sqrt.f32 (-.f32 x #s(literal -1 binary32)))))
(-.f32 x (neg.f32 (sinh.f32 (acosh.f32 x))))
(fma.f32 (pow.f32 (fma.f32 x x #s(literal -1 binary32)) #s(literal 1/4 binary32)) (pow.f32 (fma.f32 x x #s(literal -1 binary32)) #s(literal 1/4 binary32)) x)
(fma.f32 (sqrt.f32 (-.f32 x #s(literal 1 binary32))) (sqrt.f32 (-.f32 x #s(literal -1 binary32))) x)
(fma.f32 (sqrt.f32 (-.f32 x #s(literal -1 binary32))) (sqrt.f32 (-.f32 x #s(literal 1 binary32))) x)
(+.f32 (/.f32 (pow.f32 x #s(literal 3 binary32)) (fma.f32 (sinh.f32 (acosh.f32 x)) (-.f32 (sinh.f32 (acosh.f32 x)) x) (*.f32 x x))) (/.f32 (pow.f32 (sinh.f32 (acosh.f32 x)) #s(literal 3 binary32)) (fma.f32 (sinh.f32 (acosh.f32 x)) (-.f32 (sinh.f32 (acosh.f32 x)) x) (*.f32 x x))))
(+.f32 (sinh.f32 (acosh.f32 x)) x)
(+.f32 x (*.f32 (neg.f32 (neg.f32 (sqrt.f32 (-.f32 x #s(literal -1 binary32))))) (sqrt.f32 (-.f32 x #s(literal 1 binary32)))))
(+.f32 x (sinh.f32 (acosh.f32 x)))
(acosh.f32 x)
(log.f32 (+.f32 (sinh.f32 (acosh.f32 x)) x))
(-.f32 (log.f32 (-.f32 (*.f32 x x) (fma.f32 x x #s(literal -1 binary32)))) (log.f32 (-.f32 x (sinh.f32 (acosh.f32 x)))))
(-.f32 (log.f32 (+.f32 (pow.f32 (sinh.f32 (acosh.f32 x)) #s(literal 3 binary32)) (pow.f32 x #s(literal 3 binary32)))) (log.f32 (fma.f32 (sinh.f32 (acosh.f32 x)) (-.f32 (sinh.f32 (acosh.f32 x)) x) (*.f32 x x))))
(*.f32 (pow.f32 (fma.f32 x x #s(literal -1 binary32)) #s(literal 1/4 binary32)) (pow.f32 (fma.f32 x x #s(literal -1 binary32)) #s(literal 1/4 binary32)))
(*.f32 (sqrt.f32 (-.f32 x #s(literal 1 binary32))) (sqrt.f32 (-.f32 x #s(literal -1 binary32))))
(*.f32 (sqrt.f32 (-.f32 x #s(literal -1 binary32))) (sqrt.f32 (-.f32 x #s(literal 1 binary32))))
(sqrt.f32 (fma.f32 x x #s(literal -1 binary32)))
(/.f32 (sqrt.f32 (-.f32 (pow.f32 x #s(literal 4 binary32)) #s(literal 1 binary32))) (sqrt.f32 (fma.f32 x x #s(literal 1 binary32))))
(/.f32 (sqrt.f32 (-.f32 (pow.f32 x #s(literal 6 binary32)) #s(literal 1 binary32))) (sqrt.f32 (+.f32 (fma.f32 x x #s(literal 1 binary32)) (pow.f32 x #s(literal 4 binary32)))))
(/.f32 (sqrt.f32 (-.f32 (pow.f32 x #s(literal 6 binary32)) #s(literal 1 binary32))) (sqrt.f32 (fma.f32 #s(literal -1 binary32) (-.f32 #s(literal -1 binary32) (*.f32 x x)) (pow.f32 x #s(literal 4 binary32)))))
(/.f32 (-.f32 (exp.f32 (acosh.f32 x)) (exp.f32 (neg.f32 (acosh.f32 x)))) #s(literal 2 binary32))
(pow.f32 (fma.f32 x x #s(literal -1 binary32)) #s(literal 1/2 binary32))
(exp.f32 (*.f32 (log.f32 (fma.f32 x x #s(literal -1 binary32))) #s(literal 1/2 binary32)))
(sinh.f32 (acosh.f32 (neg.f32 x)))
(sinh.f32 (acosh.f32 (fabs.f32 x)))
(sinh.f32 (acosh.f32 x))
(*.f32 (pow.f32 (-.f32 x #s(literal -1 binary32)) #s(literal 1/4 binary32)) (pow.f32 (-.f32 x #s(literal -1 binary32)) #s(literal 1/4 binary32)))
(sqrt.f32 (-.f32 x #s(literal -1 binary32)))
(/.f32 (sqrt.f32 (-.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal -1 binary32))) (sqrt.f32 (fma.f32 x x (fma.f32 #s(literal -1 binary32) x #s(literal 1 binary32)))))
(/.f32 (sinh.f32 (acosh.f32 x)) (sqrt.f32 (-.f32 x #s(literal 1 binary32))))
(pow.f32 (-.f32 x #s(literal -1 binary32)) #s(literal 1/2 binary32))
(exp.f32 (*.f32 (log1p.f32 x) #s(literal 1/2 binary32)))
(*.f32 (pow.f32 (-.f32 x #s(literal 1 binary32)) #s(literal 1/4 binary32)) (pow.f32 (-.f32 x #s(literal 1 binary32)) #s(literal 1/4 binary32)))
(sqrt.f32 (-.f32 x #s(literal 1 binary32)))
(/.f32 (sqrt.f32 (-.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal 1 binary32))) (sqrt.f32 (fma.f32 x x (-.f32 x #s(literal -1 binary32)))))
(/.f32 (sinh.f32 (acosh.f32 x)) (sqrt.f32 (-.f32 x #s(literal -1 binary32))))
(pow.f32 (-.f32 x #s(literal 1 binary32)) #s(literal 1/2 binary32))
(exp.f32 (*.f32 (log.f32 (-.f32 x #s(literal 1 binary32))) #s(literal 1/2 binary32)))

eval22.0ms (0.7%)

Memory
-7.4MiB live, 36.6MiB allocated; 6ms collecting garbage
Compiler

Compiled 3 454 to 934 computations (73% saved)

prune4.0ms (0.1%)

Memory
13.9MiB live, 13.9MiB allocated; 0ms collecting garbage
Pruning

5 alts after pruning (2 fresh and 3 done)

PrunedKeptTotal
New1862188
Fresh000
Picked134
Done000
Total1875192
Accuracy
100.0%
Counts
192 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
39.0%
(log.f32 (+.f32 x (*.f32 (sqrt.f32 (-.f32 x #s(literal -1 binary32))) (/.f32 (sqrt.f32 (-.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal 1 binary32))) (sqrt.f32 (fma.f32 x x (-.f32 x #s(literal -1 binary32))))))))
99.6%
(log.f32 (+.f32 x (*.f32 (sqrt.f32 (-.f32 x #s(literal -1 binary32))) (sqrt.f32 (-.f32 x #s(literal 1 binary32))))))
58.7%
(log.f32 (+.f32 x (sqrt.f32 (fma.f32 x x #s(literal -1 binary32)))))
96.7%
(log.f32 (+.f32 x #s(approx (* (sqrt (- x -1)) (sqrt (- x 1))) x)))
99.3%
(acosh.f32 x)
Compiler

Compiled 58 to 44 computations (24.1% saved)

simplify175.0ms (5.8%)

Memory
-1.7MiB live, 182.6MiB allocated; 28ms collecting garbage
Localize:

Found 7 expressions of interest:

NewMetricScoreProgram
cost-diff0
(sqrt.f32 (-.f32 x #s(literal -1 binary32)))
cost-diff0
(*.f32 (sqrt.f32 (-.f32 x #s(literal -1 binary32))) (/.f32 (sqrt.f32 (-.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal 1 binary32))) (sqrt.f32 (fma.f32 x x (-.f32 x #s(literal -1 binary32))))))
cost-diff0
(log.f32 (+.f32 x (*.f32 (sqrt.f32 (-.f32 x #s(literal -1 binary32))) (/.f32 (sqrt.f32 (-.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal 1 binary32))) (sqrt.f32 (fma.f32 x x (-.f32 x #s(literal -1 binary32))))))))
cost-diff1
(+.f32 x (*.f32 (sqrt.f32 (-.f32 x #s(literal -1 binary32))) (/.f32 (sqrt.f32 (-.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal 1 binary32))) (sqrt.f32 (fma.f32 x x (-.f32 x #s(literal -1 binary32)))))))
cost-diff0
#s(approx (* (sqrt (- x -1)) (sqrt (- x 1))) x)
cost-diff0
(+.f32 x #s(approx (* (sqrt (- x -1)) (sqrt (- x 1))) x))
cost-diff0
(log.f32 (+.f32 x #s(approx (* (sqrt (- x -1)) (sqrt (- x 1))) x)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
023153
037153
157153
2102153
3194153
4346153
5736153
65346153
08081151
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(log.f32 (+.f32 x #s(approx (* (sqrt (- x -1)) (sqrt (- x 1))) x)))
(+.f32 x #s(approx (* (sqrt (- x -1)) (sqrt (- x 1))) x))
x
#s(approx (* (sqrt (- x -1)) (sqrt (- x 1))) x)
(log.f32 (+.f32 x (*.f32 (sqrt.f32 (-.f32 x #s(literal -1 binary32))) (/.f32 (sqrt.f32 (-.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal 1 binary32))) (sqrt.f32 (fma.f32 x x (-.f32 x #s(literal -1 binary32))))))))
(+.f32 x (*.f32 (sqrt.f32 (-.f32 x #s(literal -1 binary32))) (/.f32 (sqrt.f32 (-.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal 1 binary32))) (sqrt.f32 (fma.f32 x x (-.f32 x #s(literal -1 binary32)))))))
x
(*.f32 (sqrt.f32 (-.f32 x #s(literal -1 binary32))) (/.f32 (sqrt.f32 (-.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal 1 binary32))) (sqrt.f32 (fma.f32 x x (-.f32 x #s(literal -1 binary32))))))
(sqrt.f32 (-.f32 x #s(literal -1 binary32)))
(-.f32 x #s(literal -1 binary32))
#s(literal -1 binary32)
(/.f32 (sqrt.f32 (-.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal 1 binary32))) (sqrt.f32 (fma.f32 x x (-.f32 x #s(literal -1 binary32)))))
(sqrt.f32 (-.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal 1 binary32)))
(-.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal 1 binary32))
(pow.f32 x #s(literal 3 binary32))
#s(literal 3 binary32)
#s(literal 1 binary32)
(sqrt.f32 (fma.f32 x x (-.f32 x #s(literal -1 binary32))))
(fma.f32 x x (-.f32 x #s(literal -1 binary32)))
Outputs
(log.f32 (+.f32 x #s(approx (* (sqrt (- x -1)) (sqrt (- x 1))) x)))
(log.f32 (+.f32 #s(approx (* (sqrt (- x -1)) (sqrt (- x 1))) x) x))
(+.f32 x #s(approx (* (sqrt (- x -1)) (sqrt (- x 1))) x))
(+.f32 #s(approx (* (sqrt (- x -1)) (sqrt (- x 1))) x) x)
x
#s(approx (* (sqrt (- x -1)) (sqrt (- x 1))) x)
(log.f32 (+.f32 x (*.f32 (sqrt.f32 (-.f32 x #s(literal -1 binary32))) (/.f32 (sqrt.f32 (-.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal 1 binary32))) (sqrt.f32 (fma.f32 x x (-.f32 x #s(literal -1 binary32))))))))
(log.f32 (fma.f32 (/.f32 (sqrt.f32 (-.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal 1 binary32))) (sqrt.f32 (fma.f32 (-.f32 x #s(literal -1 binary32)) x #s(literal 1 binary32)))) (sqrt.f32 (-.f32 x #s(literal -1 binary32))) x))
(+.f32 x (*.f32 (sqrt.f32 (-.f32 x #s(literal -1 binary32))) (/.f32 (sqrt.f32 (-.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal 1 binary32))) (sqrt.f32 (fma.f32 x x (-.f32 x #s(literal -1 binary32)))))))
(fma.f32 (/.f32 (sqrt.f32 (-.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal 1 binary32))) (sqrt.f32 (fma.f32 (-.f32 x #s(literal -1 binary32)) x #s(literal 1 binary32)))) (sqrt.f32 (-.f32 x #s(literal -1 binary32))) x)
x
(*.f32 (sqrt.f32 (-.f32 x #s(literal -1 binary32))) (/.f32 (sqrt.f32 (-.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal 1 binary32))) (sqrt.f32 (fma.f32 x x (-.f32 x #s(literal -1 binary32))))))
(*.f32 (/.f32 (sqrt.f32 (-.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal 1 binary32))) (sqrt.f32 (fma.f32 (-.f32 x #s(literal -1 binary32)) x #s(literal 1 binary32)))) (sqrt.f32 (-.f32 x #s(literal -1 binary32))))
(sqrt.f32 (-.f32 x #s(literal -1 binary32)))
(-.f32 x #s(literal -1 binary32))
#s(literal -1 binary32)
(/.f32 (sqrt.f32 (-.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal 1 binary32))) (sqrt.f32 (fma.f32 x x (-.f32 x #s(literal -1 binary32)))))
(/.f32 (sqrt.f32 (-.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal 1 binary32))) (sqrt.f32 (fma.f32 (-.f32 x #s(literal -1 binary32)) x #s(literal 1 binary32))))
(sqrt.f32 (-.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal 1 binary32)))
(-.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal 1 binary32))
(pow.f32 x #s(literal 3 binary32))
#s(literal 3 binary32)
#s(literal 1 binary32)
(sqrt.f32 (fma.f32 x x (-.f32 x #s(literal -1 binary32))))
(sqrt.f32 (fma.f32 (-.f32 x #s(literal -1 binary32)) x #s(literal 1 binary32)))
(fma.f32 x x (-.f32 x #s(literal -1 binary32)))
(fma.f32 (-.f32 x #s(literal -1 binary32)) x #s(literal 1 binary32))

localize121.0ms (4%)

Memory
41.4MiB live, 184.1MiB allocated; 26ms collecting garbage
Localize:

Found 7 expressions of interest:

NewMetricScoreProgram
accuracy0.46875
(*.f32 (sqrt.f32 (-.f32 x #s(literal -1 binary32))) (/.f32 (sqrt.f32 (-.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal 1 binary32))) (sqrt.f32 (fma.f32 x x (-.f32 x #s(literal -1 binary32))))))
accuracy8.754355452994393
(/.f32 (sqrt.f32 (-.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal 1 binary32))) (sqrt.f32 (fma.f32 x x (-.f32 x #s(literal -1 binary32)))))
accuracy9.138331521736513
(sqrt.f32 (-.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal 1 binary32)))
accuracy12.21408974418302
(sqrt.f32 (fma.f32 x x (-.f32 x #s(literal -1 binary32))))
accuracy0.046875
(+.f32 x #s(approx (* (sqrt (- x -1)) (sqrt (- x 1))) x))
accuracy0.1364298770728417
(log.f32 (+.f32 x #s(approx (* (sqrt (- x -1)) (sqrt (- x 1))) x)))
accuracy1.1914828896703429
#s(approx (* (sqrt (- x -1)) (sqrt (- x 1))) x)
Samples
72.0ms256×0valid
Compiler

Compiled 155 to 23 computations (85.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 62.0ms
ival-log: 34.0ms (54.6% of total)
ival-pow: 7.0ms (11.2% of total)
ival-sqrt: 6.0ms (9.6% of total)
ival-mult: 5.0ms (8% of total)
ival-add: 4.0ms (6.4% of total)
ival-sub: 4.0ms (6.4% of total)
ival-div: 1.0ms (1.6% of total)
exact: 1.0ms (1.6% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series11.0ms (0.4%)

Memory
-23.5MiB live, 19.1MiB allocated; 12ms collecting garbage
Counts
10 → 76
Calls
Call 1
Inputs
(log.f32 (+.f32 x #s(approx (* (sqrt (- x -1)) (sqrt (- x 1))) x)))
(+.f32 x #s(approx (* (sqrt (- x -1)) (sqrt (- x 1))) x))
#s(approx (* (sqrt (- x -1)) (sqrt (- x 1))) x)
(+.f32 x (*.f32 (sqrt.f32 (-.f32 x #s(literal -1 binary32))) (/.f32 (sqrt.f32 (-.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal 1 binary32))) (sqrt.f32 (fma.f32 x x (-.f32 x #s(literal -1 binary32)))))))
(log.f32 (+.f32 x (*.f32 (sqrt.f32 (-.f32 x #s(literal -1 binary32))) (/.f32 (sqrt.f32 (-.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal 1 binary32))) (sqrt.f32 (fma.f32 x x (-.f32 x #s(literal -1 binary32))))))))
(*.f32 (sqrt.f32 (-.f32 x #s(literal -1 binary32))) (/.f32 (sqrt.f32 (-.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal 1 binary32))) (sqrt.f32 (fma.f32 x x (-.f32 x #s(literal -1 binary32))))))
(sqrt.f32 (-.f32 x #s(literal -1 binary32)))
(sqrt.f32 (fma.f32 x x (-.f32 x #s(literal -1 binary32))))
(sqrt.f32 (-.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal 1 binary32)))
(/.f32 (sqrt.f32 (-.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal 1 binary32))) (sqrt.f32 (fma.f32 x x (-.f32 x #s(literal -1 binary32)))))
Outputs
(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) (* 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
(+ 1 (* 1/2 x))
(+ 1 (* x (+ 1/2 (* -1/8 x))))
(+ 1 (* x (+ 1/2 (* x (- (* 1/16 x) 1/8)))))
(+ 1 (* x (+ 1/2 (* 3/8 x))))
(+ 1 (* x (+ 1/2 (* x (+ 3/8 (* -3/16 x))))))
(+ (sqrt -1) (* 1/2 (/ (pow x 3) (sqrt -1))))
(+ (sqrt -1) (* (pow x 3) (+ (* -1/8 (/ (pow x 3) (pow (sqrt -1) 3))) (* 1/2 (/ 1 (sqrt -1))))))
(+ (sqrt -1) (* (pow x 3) (+ (* (pow x 3) (- (* 1/16 (/ (pow x 3) (pow (sqrt -1) 5))) (* 1/8 (/ 1 (pow (sqrt -1) 3))))) (* 1/2 (/ 1 (sqrt -1))))))
(+ (sqrt -1) (* 1/2 (/ x (sqrt -1))))
(+ (sqrt -1) (* x (+ (* -1/8 (/ x (pow (sqrt -1) 3))) (* 1/2 (/ 1 (sqrt -1))))))
(+ (sqrt -1) (* x (+ (* x (- (* 1/16 (/ x (pow (sqrt -1) 5))) (* 1/8 (/ 1 (pow (sqrt -1) 3))))) (* 1/2 (/ 1 (sqrt -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))))
(* 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)))))
(sqrt x)
(* x (+ (sqrt (/ 1 x)) (* 1/2 (sqrt (/ 1 (pow x 3))))))
(* x (+ (sqrt (/ 1 x)) (+ (* -1/8 (sqrt (/ 1 (pow x 5)))) (* 1/2 (sqrt (/ 1 (pow x 3)))))))
(* x (+ (sqrt (/ 1 x)) (+ (* -1/8 (sqrt (/ 1 (pow x 5)))) (+ (* 1/16 (sqrt (/ 1 (pow x 7)))) (* 1/2 (sqrt (/ 1 (pow x 3))))))))
(* x (+ 1 (* 1/2 (/ 1 x))))
(* x (+ 1 (+ (/ 3/8 (pow x 2)) (* 1/2 (/ 1 x)))))
(* x (- (+ 1 (+ (/ 3/8 (pow x 2)) (* 1/2 (/ 1 x)))) (* 3/16 (/ 1 (pow x 3)))))
(sqrt (pow x 3))
(* (pow x 2) (+ (sqrt (/ 1 x)) (* -1/2 (sqrt (/ 1 (pow x 7))))))
(* (pow x 2) (+ (sqrt (/ 1 x)) (+ (* -1/2 (sqrt (/ 1 (pow x 7)))) (* -1/8 (sqrt (/ 1 (pow x 13)))))))
(* (pow x 2) (+ (sqrt (/ 1 x)) (+ (* -1/2 (sqrt (/ 1 (pow x 7)))) (+ (* -1/8 (sqrt (/ 1 (pow x 13)))) (* -1/16 (sqrt (/ 1 (pow x 19))))))))
(* x (+ (sqrt (/ 1 x)) (* -1/2 (sqrt (/ 1 (pow x 3))))))
(* x (+ (sqrt (/ 1 x)) (+ (* -1/2 (sqrt (/ 1 (pow x 3)))) (* -1/8 (sqrt (/ 1 (pow x 5)))))))
(* x (+ (sqrt (/ 1 x)) (+ (* -1/2 (sqrt (/ 1 (pow x 3)))) (+ (* -1/8 (sqrt (/ 1 (pow x 5)))) (* -1/16 (sqrt (/ 1 (pow x 7))))))))
(+ (log (- (pow (sqrt -1) 2) 1)) (* -1 (log (/ -1 x))))
(+ (log (- (pow (sqrt -1) 2) 1)) (+ (* -1 (log (/ -1 x))) (* 1/2 (/ 1 (* (pow x 2) (- (pow (sqrt -1) 2) 1))))))
(+ (log (- (pow (sqrt -1) 2) 1)) (+ (* -1 (log (/ -1 x))) (+ (* -1/24 (/ (+ (* 3 (/ 1 (* (pow (sqrt -1) 2) (- (pow (sqrt -1) 2) 1)))) (* 3 (/ 1 (pow (- (pow (sqrt -1) 2) 1) 2)))) (pow x 4))) (/ 1/2 (* (pow x 2) (- (pow (sqrt -1) 2) 1))))))
(+ (log (- (pow (sqrt -1) 2) 1)) (+ (* -1 (log (/ -1 x))) (+ (* -1/24 (/ (+ (* 3 (/ 1 (* (pow (sqrt -1) 2) (- (pow (sqrt -1) 2) 1)))) (* 3 (/ 1 (pow (- (pow (sqrt -1) 2) 1) 2)))) (pow x 4))) (+ (* 1/720 (/ (+ (* 45 (/ 1 (* (pow (sqrt -1) 2) (pow (- (pow (sqrt -1) 2) 1) 2)))) (+ (* 45 (/ 1 (* (pow (sqrt -1) 4) (- (pow (sqrt -1) 2) 1)))) (* 30 (/ 1 (pow (- (pow (sqrt -1) 2) 1) 3))))) (pow x 6))) (/ 1/2 (* (pow x 2) (- (pow (sqrt -1) 2) 1)))))))
(* -1 (* x (- (pow (sqrt -1) 2) 1)))
(* -1 (* x (- (+ (* 1/2 (/ 1 (pow x 2))) (pow (sqrt -1) 2)) 1)))
(* -1 (* x (- (+ (* 1/2 (/ 1 (pow x 2))) (pow (sqrt -1) 2)) (+ 1 (/ 1/8 (* (pow x 4) (pow (sqrt -1) 2)))))))
(* -1 (* x (- (+ (* 1/16 (/ 1 (* (pow x 6) (pow (sqrt -1) 4)))) (+ (* 1/2 (/ 1 (pow x 2))) (pow (sqrt -1) 2))) (+ 1 (* 1/8 (/ 1 (* (pow x 4) (pow (sqrt -1) 2))))))))
(* -1 (* x (pow (sqrt -1) 2)))
(* -1 (* x (+ (* 1/2 (/ 1 (pow x 2))) (pow (sqrt -1) 2))))
(* -1 (* x (- (+ (* 1/2 (/ 1 (pow x 2))) (pow (sqrt -1) 2)) (/ 1/8 (* (pow x 4) (pow (sqrt -1) 2))))))
(* -1 (* x (- (+ (* 1/16 (/ 1 (* (pow x 6) (pow (sqrt -1) 4)))) (+ (* 1/2 (/ 1 (pow x 2))) (pow (sqrt -1) 2))) (* 1/8 (/ 1 (* (pow x 4) (pow (sqrt -1) 2)))))))
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(* -1 (* x (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))
(* -1 (* x (+ (* -1/8 (* (sqrt (/ 1 (pow x 5))) (/ 1 (pow (sqrt -1) 2)))) (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2))))))
(* -1 (* x (+ (* -1/8 (* (sqrt (/ 1 (pow x 5))) (/ 1 (pow (sqrt -1) 2)))) (+ (* 1/16 (* (sqrt (/ 1 (pow x 7))) (/ 1 (pow (sqrt -1) 4)))) (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))))
(* -1 x)
(* -1 (* x (+ 1 (* 1/2 (/ 1 x)))))
(* -1 (* x (+ 1 (+ (/ 3/8 (pow x 2)) (* 1/2 (/ 1 x))))))
(* -1 (* x (+ 1 (* -1 (/ (- (* -1 (/ (- 3/8 (* 3/16 (/ 1 x))) x)) 1/2) x)))))
(* (sqrt (pow x 3)) (pow (sqrt -1) 2))
(* (pow x 2) (+ (* 1/2 (* (sqrt (/ 1 (pow x 7))) (pow (sqrt -1) 2))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2))))
(* (pow x 2) (+ (* -1/8 (* (sqrt (/ 1 (pow x 13))) (pow (sqrt -1) 2))) (+ (* 1/2 (* (sqrt (/ 1 (pow x 7))) (pow (sqrt -1) 2))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))
(* (pow x 2) (+ (* -1/8 (* (sqrt (/ 1 (pow x 13))) (pow (sqrt -1) 2))) (+ (* 1/16 (* (sqrt (/ 1 (pow x 19))) (pow (sqrt -1) 2))) (+ (* 1/2 (* (sqrt (/ 1 (pow x 7))) (pow (sqrt -1) 2))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2))))))
(* -1 (* x (+ (* 1/2 (* (sqrt (/ 1 (pow x 3))) (pow (sqrt -1) 2))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))
(* -1 (* x (+ (* -1/8 (* (sqrt (/ 1 (pow x 5))) (pow (sqrt -1) 2))) (+ (* 1/2 (* (sqrt (/ 1 (pow x 3))) (pow (sqrt -1) 2))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2))))))
(* -1 (* x (+ (* -1/8 (* (sqrt (/ 1 (pow x 5))) (pow (sqrt -1) 2))) (+ (* 1/16 (* (sqrt (/ 1 (pow x 7))) (pow (sqrt -1) 2))) (+ (* 1/2 (* (sqrt (/ 1 (pow x 3))) (pow (sqrt -1) 2))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))))
Calls

3 calls:

TimeVariablePointExpression
2.0ms
x
@-inf
((log (+ x (* (sqrt (- x -1)) (sqrt (- x 1))))) (+ x (* (sqrt (- x -1)) (sqrt (- x 1)))) (* (sqrt (- x -1)) (sqrt (- x 1))) (+ x (* (sqrt (- x -1)) (/ (sqrt (- (pow x 3) 1)) (sqrt (+ (* x x) (- x -1)))))) (log (+ x (* (sqrt (- x -1)) (/ (sqrt (- (pow x 3) 1)) (sqrt (+ (* x x) (- x -1))))))) (* (sqrt (- x -1)) (/ (sqrt (- (pow x 3) 1)) (sqrt (+ (* x x) (- x -1))))) (sqrt (- x -1)) (sqrt (+ (* x x) (- x -1))) (sqrt (- (pow x 3) 1)) (/ (sqrt (- (pow x 3) 1)) (sqrt (+ (* x x) (- x -1)))))
2.0ms
x
@inf
((log (+ x (* (sqrt (- x -1)) (sqrt (- x 1))))) (+ x (* (sqrt (- x -1)) (sqrt (- x 1)))) (* (sqrt (- x -1)) (sqrt (- x 1))) (+ x (* (sqrt (- x -1)) (/ (sqrt (- (pow x 3) 1)) (sqrt (+ (* x x) (- x -1)))))) (log (+ x (* (sqrt (- x -1)) (/ (sqrt (- (pow x 3) 1)) (sqrt (+ (* x x) (- x -1))))))) (* (sqrt (- x -1)) (/ (sqrt (- (pow x 3) 1)) (sqrt (+ (* x x) (- x -1))))) (sqrt (- x -1)) (sqrt (+ (* x x) (- x -1))) (sqrt (- (pow x 3) 1)) (/ (sqrt (- (pow x 3) 1)) (sqrt (+ (* x x) (- x -1)))))
1.0ms
x
@0
((log (+ x (* (sqrt (- x -1)) (sqrt (- x 1))))) (+ x (* (sqrt (- x -1)) (sqrt (- x 1)))) (* (sqrt (- x -1)) (sqrt (- x 1))) (+ x (* (sqrt (- x -1)) (/ (sqrt (- (pow x 3) 1)) (sqrt (+ (* x x) (- x -1)))))) (log (+ x (* (sqrt (- x -1)) (/ (sqrt (- (pow x 3) 1)) (sqrt (+ (* x x) (- x -1))))))) (* (sqrt (- x -1)) (/ (sqrt (- (pow x 3) 1)) (sqrt (+ (* x x) (- x -1))))) (sqrt (- x -1)) (sqrt (+ (* x x) (- x -1))) (sqrt (- (pow x 3) 1)) (/ (sqrt (- (pow x 3) 1)) (sqrt (+ (* x x) (- x -1)))))

simplify186.0ms (6.2%)

Memory
-1.1MiB live, 189.1MiB allocated; 44ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03721481
112121210
254511169
083261095
Stop Event
iter limit
node limit
Counts
76 → 75
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)))))
(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) (* 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
(+ 1 (* 1/2 x))
(+ 1 (* x (+ 1/2 (* -1/8 x))))
(+ 1 (* x (+ 1/2 (* x (- (* 1/16 x) 1/8)))))
(+ 1 (* x (+ 1/2 (* 3/8 x))))
(+ 1 (* x (+ 1/2 (* x (+ 3/8 (* -3/16 x))))))
(+ (sqrt -1) (* 1/2 (/ (pow x 3) (sqrt -1))))
(+ (sqrt -1) (* (pow x 3) (+ (* -1/8 (/ (pow x 3) (pow (sqrt -1) 3))) (* 1/2 (/ 1 (sqrt -1))))))
(+ (sqrt -1) (* (pow x 3) (+ (* (pow x 3) (- (* 1/16 (/ (pow x 3) (pow (sqrt -1) 5))) (* 1/8 (/ 1 (pow (sqrt -1) 3))))) (* 1/2 (/ 1 (sqrt -1))))))
(+ (sqrt -1) (* 1/2 (/ x (sqrt -1))))
(+ (sqrt -1) (* x (+ (* -1/8 (/ x (pow (sqrt -1) 3))) (* 1/2 (/ 1 (sqrt -1))))))
(+ (sqrt -1) (* x (+ (* x (- (* 1/16 (/ x (pow (sqrt -1) 5))) (* 1/8 (/ 1 (pow (sqrt -1) 3))))) (* 1/2 (/ 1 (sqrt -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))))
(* 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)))))
(sqrt x)
(* x (+ (sqrt (/ 1 x)) (* 1/2 (sqrt (/ 1 (pow x 3))))))
(* x (+ (sqrt (/ 1 x)) (+ (* -1/8 (sqrt (/ 1 (pow x 5)))) (* 1/2 (sqrt (/ 1 (pow x 3)))))))
(* x (+ (sqrt (/ 1 x)) (+ (* -1/8 (sqrt (/ 1 (pow x 5)))) (+ (* 1/16 (sqrt (/ 1 (pow x 7)))) (* 1/2 (sqrt (/ 1 (pow x 3))))))))
(* x (+ 1 (* 1/2 (/ 1 x))))
(* x (+ 1 (+ (/ 3/8 (pow x 2)) (* 1/2 (/ 1 x)))))
(* x (- (+ 1 (+ (/ 3/8 (pow x 2)) (* 1/2 (/ 1 x)))) (* 3/16 (/ 1 (pow x 3)))))
(sqrt (pow x 3))
(* (pow x 2) (+ (sqrt (/ 1 x)) (* -1/2 (sqrt (/ 1 (pow x 7))))))
(* (pow x 2) (+ (sqrt (/ 1 x)) (+ (* -1/2 (sqrt (/ 1 (pow x 7)))) (* -1/8 (sqrt (/ 1 (pow x 13)))))))
(* (pow x 2) (+ (sqrt (/ 1 x)) (+ (* -1/2 (sqrt (/ 1 (pow x 7)))) (+ (* -1/8 (sqrt (/ 1 (pow x 13)))) (* -1/16 (sqrt (/ 1 (pow x 19))))))))
(* x (+ (sqrt (/ 1 x)) (* -1/2 (sqrt (/ 1 (pow x 3))))))
(* x (+ (sqrt (/ 1 x)) (+ (* -1/2 (sqrt (/ 1 (pow x 3)))) (* -1/8 (sqrt (/ 1 (pow x 5)))))))
(* x (+ (sqrt (/ 1 x)) (+ (* -1/2 (sqrt (/ 1 (pow x 3)))) (+ (* -1/8 (sqrt (/ 1 (pow x 5)))) (* -1/16 (sqrt (/ 1 (pow x 7))))))))
(+ (log (- (pow (sqrt -1) 2) 1)) (* -1 (log (/ -1 x))))
(+ (log (- (pow (sqrt -1) 2) 1)) (+ (* -1 (log (/ -1 x))) (* 1/2 (/ 1 (* (pow x 2) (- (pow (sqrt -1) 2) 1))))))
(+ (log (- (pow (sqrt -1) 2) 1)) (+ (* -1 (log (/ -1 x))) (+ (* -1/24 (/ (+ (* 3 (/ 1 (* (pow (sqrt -1) 2) (- (pow (sqrt -1) 2) 1)))) (* 3 (/ 1 (pow (- (pow (sqrt -1) 2) 1) 2)))) (pow x 4))) (/ 1/2 (* (pow x 2) (- (pow (sqrt -1) 2) 1))))))
(+ (log (- (pow (sqrt -1) 2) 1)) (+ (* -1 (log (/ -1 x))) (+ (* -1/24 (/ (+ (* 3 (/ 1 (* (pow (sqrt -1) 2) (- (pow (sqrt -1) 2) 1)))) (* 3 (/ 1 (pow (- (pow (sqrt -1) 2) 1) 2)))) (pow x 4))) (+ (* 1/720 (/ (+ (* 45 (/ 1 (* (pow (sqrt -1) 2) (pow (- (pow (sqrt -1) 2) 1) 2)))) (+ (* 45 (/ 1 (* (pow (sqrt -1) 4) (- (pow (sqrt -1) 2) 1)))) (* 30 (/ 1 (pow (- (pow (sqrt -1) 2) 1) 3))))) (pow x 6))) (/ 1/2 (* (pow x 2) (- (pow (sqrt -1) 2) 1)))))))
(* -1 (* x (- (pow (sqrt -1) 2) 1)))
(* -1 (* x (- (+ (* 1/2 (/ 1 (pow x 2))) (pow (sqrt -1) 2)) 1)))
(* -1 (* x (- (+ (* 1/2 (/ 1 (pow x 2))) (pow (sqrt -1) 2)) (+ 1 (/ 1/8 (* (pow x 4) (pow (sqrt -1) 2)))))))
(* -1 (* x (- (+ (* 1/16 (/ 1 (* (pow x 6) (pow (sqrt -1) 4)))) (+ (* 1/2 (/ 1 (pow x 2))) (pow (sqrt -1) 2))) (+ 1 (* 1/8 (/ 1 (* (pow x 4) (pow (sqrt -1) 2))))))))
(* -1 (* x (pow (sqrt -1) 2)))
(* -1 (* x (+ (* 1/2 (/ 1 (pow x 2))) (pow (sqrt -1) 2))))
(* -1 (* x (- (+ (* 1/2 (/ 1 (pow x 2))) (pow (sqrt -1) 2)) (/ 1/8 (* (pow x 4) (pow (sqrt -1) 2))))))
(* -1 (* x (- (+ (* 1/16 (/ 1 (* (pow x 6) (pow (sqrt -1) 4)))) (+ (* 1/2 (/ 1 (pow x 2))) (pow (sqrt -1) 2))) (* 1/8 (/ 1 (* (pow x 4) (pow (sqrt -1) 2)))))))
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(* -1 (* x (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))
(* -1 (* x (+ (* -1/8 (* (sqrt (/ 1 (pow x 5))) (/ 1 (pow (sqrt -1) 2)))) (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2))))))
(* -1 (* x (+ (* -1/8 (* (sqrt (/ 1 (pow x 5))) (/ 1 (pow (sqrt -1) 2)))) (+ (* 1/16 (* (sqrt (/ 1 (pow x 7))) (/ 1 (pow (sqrt -1) 4)))) (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))))
(* -1 x)
(* -1 (* x (+ 1 (* 1/2 (/ 1 x)))))
(* -1 (* x (+ 1 (+ (/ 3/8 (pow x 2)) (* 1/2 (/ 1 x))))))
(* -1 (* x (+ 1 (* -1 (/ (- (* -1 (/ (- 3/8 (* 3/16 (/ 1 x))) x)) 1/2) x)))))
(* (sqrt (pow x 3)) (pow (sqrt -1) 2))
(* (pow x 2) (+ (* 1/2 (* (sqrt (/ 1 (pow x 7))) (pow (sqrt -1) 2))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2))))
(* (pow x 2) (+ (* -1/8 (* (sqrt (/ 1 (pow x 13))) (pow (sqrt -1) 2))) (+ (* 1/2 (* (sqrt (/ 1 (pow x 7))) (pow (sqrt -1) 2))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))
(* (pow x 2) (+ (* -1/8 (* (sqrt (/ 1 (pow x 13))) (pow (sqrt -1) 2))) (+ (* 1/16 (* (sqrt (/ 1 (pow x 19))) (pow (sqrt -1) 2))) (+ (* 1/2 (* (sqrt (/ 1 (pow x 7))) (pow (sqrt -1) 2))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2))))))
(* -1 (* x (+ (* 1/2 (* (sqrt (/ 1 (pow x 3))) (pow (sqrt -1) 2))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))
(* -1 (* x (+ (* -1/8 (* (sqrt (/ 1 (pow x 5))) (pow (sqrt -1) 2))) (+ (* 1/2 (* (sqrt (/ 1 (pow x 3))) (pow (sqrt -1) 2))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2))))))
(* -1 (* x (+ (* -1/8 (* (sqrt (/ 1 (pow x 5))) (pow (sqrt -1) 2))) (+ (* 1/16 (* (sqrt (/ 1 (pow x 7))) (pow (sqrt -1) 2))) (+ (* 1/2 (* (sqrt (/ 1 (pow x 3))) (pow (sqrt -1) 2))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))))
Outputs
(log (sqrt -1))
(log.f32 (sqrt.f32 #s(literal -1 binary32)))
(+ (log (sqrt -1)) (/ x (sqrt -1)))
(+.f32 (/.f32 x (sqrt.f32 #s(literal -1 binary32))) (log.f32 (sqrt.f32 #s(literal -1 binary32))))
(+ (log (sqrt -1)) (* x (+ (* -1/6 (/ (pow x 2) (pow (sqrt -1) 3))) (/ 1 (sqrt -1)))))
(fma.f32 (pow.f32 (/.f32 x (sqrt.f32 #s(literal -1 binary32))) #s(literal 3 binary32)) #s(literal -1/6 binary32) (+.f32 (/.f32 x (sqrt.f32 #s(literal -1 binary32))) (log.f32 (sqrt.f32 #s(literal -1 binary32)))))
(+ (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.f32 (pow.f32 x #s(literal 3 binary32)) (fma.f32 (*.f32 x (/.f32 x (pow.f32 (sqrt.f32 #s(literal -1 binary32)) #s(literal 5 binary32)))) #s(literal 3/40 binary32) (/.f32 #s(literal 1/6 binary32) (sqrt.f32 #s(literal -1 binary32)))) (+.f32 (/.f32 x (sqrt.f32 #s(literal -1 binary32))) (log.f32 (sqrt.f32 #s(literal -1 binary32)))))
(sqrt -1)
(sqrt.f32 #s(literal -1 binary32))
(+ x (sqrt -1))
(+.f32 (sqrt.f32 #s(literal -1 binary32)) x)
(+ (sqrt -1) (* x (+ 1 (* 1/2 (/ x (sqrt -1))))))
(fma.f32 (fma.f32 #s(literal 1/2 binary32) (/.f32 x (sqrt.f32 #s(literal -1 binary32))) #s(literal 1 binary32)) x (sqrt.f32 #s(literal -1 binary32)))
(+ (sqrt -1) (* x (+ 1 (* x (+ (* -1/8 (/ (pow x 2) (pow (sqrt -1) 3))) (* 1/2 (/ 1 (sqrt -1))))))))
(fma.f32 (fma.f32 (pow.f32 (/.f32 x (sqrt.f32 #s(literal -1 binary32))) #s(literal 3 binary32)) #s(literal -1/8 binary32) (fma.f32 #s(literal 1/2 binary32) (/.f32 x (sqrt.f32 #s(literal -1 binary32))) #s(literal 1 binary32))) x (sqrt.f32 #s(literal -1 binary32)))
(+ (sqrt -1) (* 1/2 (/ (pow x 2) (sqrt -1))))
(fma.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (sqrt.f32 #s(literal -1 binary32))) x) x (sqrt.f32 #s(literal -1 binary32)))
(+ (sqrt -1) (* (pow x 2) (+ (* -1/8 (/ (pow x 2) (pow (sqrt -1) 3))) (* 1/2 (/ 1 (sqrt -1))))))
(fma.f32 (/.f32 (fma.f32 #s(literal 1/2 binary32) x (/.f32 (*.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal -1/8 binary32)) #s(literal -1 binary32))) (sqrt.f32 #s(literal -1 binary32))) x (sqrt.f32 #s(literal -1 binary32)))
(+ (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.f32 (pow.f32 x #s(literal 4 binary32)) (fma.f32 #s(literal 1/16 binary32) (*.f32 x (/.f32 x (pow.f32 (sqrt.f32 #s(literal -1 binary32)) #s(literal 5 binary32)))) (/.f32 #s(literal 1/8 binary32) (sqrt.f32 #s(literal -1 binary32)))) (fma.f32 (*.f32 (/.f32 #s(literal 1/2 binary32) (sqrt.f32 #s(literal -1 binary32))) x) x (sqrt.f32 #s(literal -1 binary32))))
1
#s(literal 1 binary32)
(+ 1 (* 1/2 x))
(fma.f32 #s(literal 1/2 binary32) x #s(literal 1 binary32))
(+ 1 (* x (+ 1/2 (* -1/8 x))))
(fma.f32 (fma.f32 #s(literal -1/8 binary32) x #s(literal 1/2 binary32)) x #s(literal 1 binary32))
(+ 1 (* x (+ 1/2 (* x (- (* 1/16 x) 1/8)))))
(fma.f32 (fma.f32 (fma.f32 #s(literal 1/16 binary32) x #s(literal -1/8 binary32)) x #s(literal 1/2 binary32)) x #s(literal 1 binary32))
(+ 1 (* x (+ 1/2 (* 3/8 x))))
(fma.f32 (fma.f32 #s(literal 3/8 binary32) x #s(literal 1/2 binary32)) x #s(literal 1 binary32))
(+ 1 (* x (+ 1/2 (* x (+ 3/8 (* -3/16 x))))))
(fma.f32 (fma.f32 (fma.f32 #s(literal -3/16 binary32) x #s(literal 3/8 binary32)) x #s(literal 1/2 binary32)) x #s(literal 1 binary32))
(+ (sqrt -1) (* 1/2 (/ (pow x 3) (sqrt -1))))
(fma.f32 (/.f32 (pow.f32 x #s(literal 3 binary32)) (sqrt.f32 #s(literal -1 binary32))) #s(literal 1/2 binary32) (sqrt.f32 #s(literal -1 binary32)))
(+ (sqrt -1) (* (pow x 3) (+ (* -1/8 (/ (pow x 3) (pow (sqrt -1) 3))) (* 1/2 (/ 1 (sqrt -1))))))
(fma.f32 (fma.f32 (pow.f32 (/.f32 x (sqrt.f32 #s(literal -1 binary32))) #s(literal 3 binary32)) #s(literal -1/8 binary32) (/.f32 #s(literal 1/2 binary32) (sqrt.f32 #s(literal -1 binary32)))) (pow.f32 x #s(literal 3 binary32)) (sqrt.f32 #s(literal -1 binary32)))
(+ (sqrt -1) (* (pow x 3) (+ (* (pow x 3) (- (* 1/16 (/ (pow x 3) (pow (sqrt -1) 5))) (* 1/8 (/ 1 (pow (sqrt -1) 3))))) (* 1/2 (/ 1 (sqrt -1))))))
(fma.f32 (fma.f32 (fma.f32 (/.f32 (pow.f32 x #s(literal 3 binary32)) (pow.f32 (sqrt.f32 #s(literal -1 binary32)) #s(literal 5 binary32))) #s(literal 1/16 binary32) (/.f32 #s(literal 1/8 binary32) (sqrt.f32 #s(literal -1 binary32)))) (pow.f32 x #s(literal 3 binary32)) (/.f32 #s(literal 1/2 binary32) (sqrt.f32 #s(literal -1 binary32)))) (pow.f32 x #s(literal 3 binary32)) (sqrt.f32 #s(literal -1 binary32)))
(+ (sqrt -1) (* 1/2 (/ x (sqrt -1))))
(fma.f32 (/.f32 #s(literal 1/2 binary32) (sqrt.f32 #s(literal -1 binary32))) x (sqrt.f32 #s(literal -1 binary32)))
(+ (sqrt -1) (* x (+ (* -1/8 (/ x (pow (sqrt -1) 3))) (* 1/2 (/ 1 (sqrt -1))))))
(fma.f32 (fma.f32 #s(literal 1/8 binary32) (/.f32 x (sqrt.f32 #s(literal -1 binary32))) (/.f32 #s(literal 1/2 binary32) (sqrt.f32 #s(literal -1 binary32)))) x (sqrt.f32 #s(literal -1 binary32)))
(+ (sqrt -1) (* x (+ (* x (- (* 1/16 (/ x (pow (sqrt -1) 5))) (* 1/8 (/ 1 (pow (sqrt -1) 3))))) (* 1/2 (/ 1 (sqrt -1))))))
(fma.f32 (fma.f32 (fma.f32 (/.f32 x (pow.f32 (sqrt.f32 #s(literal -1 binary32)) #s(literal 5 binary32))) #s(literal 1/16 binary32) (/.f32 #s(literal 1/8 binary32) (sqrt.f32 #s(literal -1 binary32)))) x (/.f32 #s(literal 1/2 binary32) (sqrt.f32 #s(literal -1 binary32)))) x (sqrt.f32 #s(literal -1 binary32)))
(+ (log 2) (* -1 (log (/ 1 x))))
(+.f32 (log.f32 x) (log.f32 #s(literal 2 binary32)))
(- (+ (log 2) (* -1 (log (/ 1 x)))) (* 1/4 (/ 1 (pow x 2))))
(-.f32 (+.f32 (log.f32 x) (log.f32 #s(literal 2 binary32))) (/.f32 #s(literal 1/4 binary32) (*.f32 x x)))
(+ (log 2) (+ (* -1 (log (/ 1 x))) (* -1 (/ (+ 1/4 (* 3/32 (/ 1 (pow x 2)))) (pow x 2)))))
(-.f32 (+.f32 (log.f32 x) (log.f32 #s(literal 2 binary32))) (/.f32 (/.f32 (-.f32 (/.f32 #s(literal 3/32 binary32) (*.f32 x x)) #s(literal -1/4 binary32)) 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))))
(-.f32 (-.f32 (+.f32 (log.f32 x) (log.f32 #s(literal 2 binary32))) (/.f32 (-.f32 (/.f32 #s(literal 5/96 binary32) (*.f32 x x)) #s(literal -3/32 binary32)) (pow.f32 x #s(literal 4 binary32)))) (/.f32 #s(literal 1/4 binary32) (*.f32 x x)))
(* 2 x)
(*.f32 #s(literal 2 binary32) x)
(* x (- 2 (* 1/2 (/ 1 (pow x 2)))))
(*.f32 (-.f32 #s(literal 2 binary32) (/.f32 #s(literal 1/2 binary32) (*.f32 x x))) x)
(* x (+ 2 (* -1 (/ (+ 1/2 (* 1/8 (/ 1 (pow x 2)))) (pow x 2)))))
(*.f32 (+.f32 (-.f32 #s(literal 2 binary32) (/.f32 #s(literal 1/2 binary32) (*.f32 x x))) (/.f32 #s(literal -1/8 binary32) (pow.f32 x #s(literal 4 binary32)))) x)
(* x (- (+ 2 (* -1 (/ (+ 1/8 (* 1/16 (/ 1 (pow x 2)))) (pow x 4)))) (* 1/2 (/ 1 (pow x 2)))))
(*.f32 (+.f32 (/.f32 (+.f32 (/.f32 #s(literal -1/16 binary32) (*.f32 x x)) #s(literal -1/8 binary32)) (pow.f32 x #s(literal 4 binary32))) (-.f32 #s(literal 2 binary32) (/.f32 #s(literal 1/2 binary32) (*.f32 x x)))) x)
x
(* x (- 1 (* 1/2 (/ 1 (pow x 2)))))
(fma.f32 (/.f32 #s(literal -1/2 binary32) (*.f32 x x)) x x)
(* x (+ 1 (* -1 (/ (+ 1/2 (* 1/8 (/ 1 (pow x 2)))) (pow x 2)))))
(fma.f32 (/.f32 (/.f32 (+.f32 (/.f32 #s(literal -1/8 binary32) (*.f32 x x)) #s(literal -1/2 binary32)) x) x) x x)
(* x (- (+ 1 (* -1 (/ (+ 1/8 (* 1/16 (/ 1 (pow x 2)))) (pow x 4)))) (* 1/2 (/ 1 (pow x 2)))))
(*.f32 (+.f32 (/.f32 (+.f32 (/.f32 #s(literal -1/16 binary32) (*.f32 x x)) #s(literal -1/8 binary32)) (pow.f32 x #s(literal 4 binary32))) (-.f32 #s(literal 1 binary32) (/.f32 #s(literal 1/2 binary32) (*.f32 x x)))) x)
(sqrt x)
(sqrt.f32 x)
(* x (+ (sqrt (/ 1 x)) (* 1/2 (sqrt (/ 1 (pow x 3))))))
(*.f32 (fma.f32 (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 x #s(literal 3 binary32)))) #s(literal 1/2 binary32) (sqrt.f32 (/.f32 #s(literal 1 binary32) x))) x)
(* x (+ (sqrt (/ 1 x)) (+ (* -1/8 (sqrt (/ 1 (pow x 5)))) (* 1/2 (sqrt (/ 1 (pow x 3)))))))
(*.f32 (fma.f32 (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 x #s(literal 5 binary32)))) #s(literal -1/8 binary32) (fma.f32 (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 x #s(literal 3 binary32)))) #s(literal 1/2 binary32) (sqrt.f32 (/.f32 #s(literal 1 binary32) x)))) x)
(* x (+ (sqrt (/ 1 x)) (+ (* -1/8 (sqrt (/ 1 (pow x 5)))) (+ (* 1/16 (sqrt (/ 1 (pow x 7)))) (* 1/2 (sqrt (/ 1 (pow x 3))))))))
(*.f32 (+.f32 (fma.f32 (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 x #s(literal 7 binary32)))) #s(literal 1/16 binary32) (fma.f32 (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 x #s(literal 5 binary32)))) #s(literal -1/8 binary32) (*.f32 (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 x #s(literal 3 binary32)))) #s(literal 1/2 binary32)))) (sqrt.f32 (/.f32 #s(literal 1 binary32) x))) x)
(* x (+ 1 (* 1/2 (/ 1 x))))
(fma.f32 (/.f32 #s(literal 1/2 binary32) x) x x)
(* x (+ 1 (+ (/ 3/8 (pow x 2)) (* 1/2 (/ 1 x)))))
(fma.f32 (/.f32 (+.f32 (/.f32 #s(literal 3/8 binary32) x) #s(literal 1/2 binary32)) x) x x)
(* x (- (+ 1 (+ (/ 3/8 (pow x 2)) (* 1/2 (/ 1 x)))) (* 3/16 (/ 1 (pow x 3)))))
(*.f32 (-.f32 (+.f32 (/.f32 (+.f32 (/.f32 #s(literal 3/8 binary32) x) #s(literal 1/2 binary32)) x) #s(literal 1 binary32)) (/.f32 #s(literal 3/16 binary32) (pow.f32 x #s(literal 3 binary32)))) x)
(sqrt (pow x 3))
(sqrt.f32 (pow.f32 x #s(literal 3 binary32)))
(* (pow x 2) (+ (sqrt (/ 1 x)) (* -1/2 (sqrt (/ 1 (pow x 7))))))
(*.f32 (fma.f32 #s(literal -1/2 binary32) (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 x #s(literal 7 binary32)))) (sqrt.f32 (/.f32 #s(literal 1 binary32) x))) (*.f32 x x))
(* (pow x 2) (+ (sqrt (/ 1 x)) (+ (* -1/2 (sqrt (/ 1 (pow x 7)))) (* -1/8 (sqrt (/ 1 (pow x 13)))))))
(*.f32 (fma.f32 (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 x #s(literal 13 binary32)))) #s(literal -1/8 binary32) (fma.f32 #s(literal -1/2 binary32) (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 x #s(literal 7 binary32)))) (sqrt.f32 (/.f32 #s(literal 1 binary32) x)))) (*.f32 x x))
(* (pow x 2) (+ (sqrt (/ 1 x)) (+ (* -1/2 (sqrt (/ 1 (pow x 7)))) (+ (* -1/8 (sqrt (/ 1 (pow x 13)))) (* -1/16 (sqrt (/ 1 (pow x 19))))))))
(*.f32 (+.f32 (fma.f32 (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 x #s(literal 19 binary32)))) #s(literal -1/16 binary32) (fma.f32 (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 x #s(literal 13 binary32)))) #s(literal -1/8 binary32) (*.f32 #s(literal -1/2 binary32) (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 x #s(literal 7 binary32))))))) (sqrt.f32 (/.f32 #s(literal 1 binary32) x))) (*.f32 x x))
(* x (+ (sqrt (/ 1 x)) (* -1/2 (sqrt (/ 1 (pow x 3))))))
(*.f32 (fma.f32 #s(literal -1/2 binary32) (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 x #s(literal 3 binary32)))) (sqrt.f32 (/.f32 #s(literal 1 binary32) x))) x)
(* x (+ (sqrt (/ 1 x)) (+ (* -1/2 (sqrt (/ 1 (pow x 3)))) (* -1/8 (sqrt (/ 1 (pow x 5)))))))
(*.f32 (fma.f32 (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 x #s(literal 5 binary32)))) #s(literal -1/8 binary32) (fma.f32 #s(literal -1/2 binary32) (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 x #s(literal 3 binary32)))) (sqrt.f32 (/.f32 #s(literal 1 binary32) x)))) x)
(* x (+ (sqrt (/ 1 x)) (+ (* -1/2 (sqrt (/ 1 (pow x 3)))) (+ (* -1/8 (sqrt (/ 1 (pow x 5)))) (* -1/16 (sqrt (/ 1 (pow x 7))))))))
(*.f32 (+.f32 (fma.f32 #s(literal -1/16 binary32) (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 x #s(literal 7 binary32)))) (fma.f32 #s(literal -1/2 binary32) (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 x #s(literal 3 binary32)))) (*.f32 (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 x #s(literal 5 binary32)))) #s(literal -1/8 binary32)))) (sqrt.f32 (/.f32 #s(literal 1 binary32) x))) x)
(+ (log (- (pow (sqrt -1) 2) 1)) (* -1 (log (/ -1 x))))
(-.f32 (log.f32 #s(literal -2 binary32)) (log.f32 (/.f32 #s(literal -1 binary32) x)))
(+ (log (- (pow (sqrt -1) 2) 1)) (+ (* -1 (log (/ -1 x))) (* 1/2 (/ 1 (* (pow x 2) (- (pow (sqrt -1) 2) 1))))))
(-.f32 (log.f32 #s(literal -2 binary32)) (-.f32 (log.f32 (/.f32 #s(literal -1 binary32) x)) (/.f32 #s(literal -1/4 binary32) (*.f32 x x))))
(+ (log (- (pow (sqrt -1) 2) 1)) (+ (* -1 (log (/ -1 x))) (+ (* -1/24 (/ (+ (* 3 (/ 1 (* (pow (sqrt -1) 2) (- (pow (sqrt -1) 2) 1)))) (* 3 (/ 1 (pow (- (pow (sqrt -1) 2) 1) 2)))) (pow x 4))) (/ 1/2 (* (pow x 2) (- (pow (sqrt -1) 2) 1))))))
(+.f32 (-.f32 (log.f32 #s(literal -2 binary32)) (log.f32 (/.f32 #s(literal -1 binary32) x))) (/.f32 (/.f32 (+.f32 #s(literal -1/4 binary32) (/.f32 #s(literal -3/32 binary32) (*.f32 x x))) x) x))
(+ (log (- (pow (sqrt -1) 2) 1)) (+ (* -1 (log (/ -1 x))) (+ (* -1/24 (/ (+ (* 3 (/ 1 (* (pow (sqrt -1) 2) (- (pow (sqrt -1) 2) 1)))) (* 3 (/ 1 (pow (- (pow (sqrt -1) 2) 1) 2)))) (pow x 4))) (+ (* 1/720 (/ (+ (* 45 (/ 1 (* (pow (sqrt -1) 2) (pow (- (pow (sqrt -1) 2) 1) 2)))) (+ (* 45 (/ 1 (* (pow (sqrt -1) 4) (- (pow (sqrt -1) 2) 1)))) (* 30 (/ 1 (pow (- (pow (sqrt -1) 2) 1) 3))))) (pow x 6))) (/ 1/2 (* (pow x 2) (- (pow (sqrt -1) 2) 1)))))))
(-.f32 (log.f32 #s(literal -2 binary32)) (-.f32 (log.f32 (/.f32 #s(literal -1 binary32) x)) (+.f32 (-.f32 (/.f32 #s(literal -5/96 binary32) (pow.f32 x #s(literal 6 binary32))) (/.f32 #s(literal 1/4 binary32) (*.f32 x x))) (/.f32 #s(literal -3/32 binary32) (pow.f32 x #s(literal 4 binary32))))))
(* -1 (* x (- (pow (sqrt -1) 2) 1)))
(*.f32 #s(literal 2 binary32) x)
(* -1 (* x (- (+ (* 1/2 (/ 1 (pow x 2))) (pow (sqrt -1) 2)) 1)))
(*.f32 (-.f32 #s(literal 2 binary32) (/.f32 #s(literal 1/2 binary32) (*.f32 x x))) x)
(* -1 (* x (- (+ (* 1/2 (/ 1 (pow x 2))) (pow (sqrt -1) 2)) (+ 1 (/ 1/8 (* (pow x 4) (pow (sqrt -1) 2)))))))
(*.f32 (+.f32 (-.f32 #s(literal 2 binary32) (/.f32 #s(literal 1/2 binary32) (*.f32 x x))) (/.f32 #s(literal -1/8 binary32) (pow.f32 x #s(literal 4 binary32)))) x)
(* -1 (* x (- (+ (* 1/16 (/ 1 (* (pow x 6) (pow (sqrt -1) 4)))) (+ (* 1/2 (/ 1 (pow x 2))) (pow (sqrt -1) 2))) (+ 1 (* 1/8 (/ 1 (* (pow x 4) (pow (sqrt -1) 2))))))))
(*.f32 (neg.f32 x) (+.f32 (/.f32 #s(literal 1/16 binary32) (pow.f32 x #s(literal 6 binary32))) (-.f32 (+.f32 #s(literal -2 binary32) (/.f32 #s(literal 1/2 binary32) (*.f32 x x))) (/.f32 #s(literal -1/8 binary32) (pow.f32 x #s(literal 4 binary32))))))
(* -1 (* x (pow (sqrt -1) 2)))
x
(* -1 (* x (+ (* 1/2 (/ 1 (pow x 2))) (pow (sqrt -1) 2))))
(fma.f32 (/.f32 #s(literal -1/2 binary32) (*.f32 x x)) x x)
(* -1 (* x (- (+ (* 1/2 (/ 1 (pow x 2))) (pow (sqrt -1) 2)) (/ 1/8 (* (pow x 4) (pow (sqrt -1) 2))))))
(fma.f32 (/.f32 (/.f32 (+.f32 (/.f32 #s(literal -1/8 binary32) (*.f32 x x)) #s(literal -1/2 binary32)) x) x) x x)
(* -1 (* x (- (+ (* 1/16 (/ 1 (* (pow x 6) (pow (sqrt -1) 4)))) (+ (* 1/2 (/ 1 (pow x 2))) (pow (sqrt -1) 2))) (* 1/8 (/ 1 (* (pow x 4) (pow (sqrt -1) 2)))))))
(*.f32 (+.f32 (-.f32 #s(literal 1 binary32) (/.f32 #s(literal 1/2 binary32) (*.f32 x x))) (/.f32 (+.f32 (/.f32 #s(literal -1/16 binary32) (*.f32 x x)) #s(literal -1/8 binary32)) (pow.f32 x #s(literal 4 binary32)))) x)
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(*.f32 (sqrt.f32 x) #s(literal 1 binary32))
(* -1 (* x (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))
(*.f32 (fma.f32 #s(literal -1/2 binary32) (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 x #s(literal 3 binary32)))) (sqrt.f32 (/.f32 #s(literal 1 binary32) x))) x)
(* -1 (* x (+ (* -1/8 (* (sqrt (/ 1 (pow x 5))) (/ 1 (pow (sqrt -1) 2)))) (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2))))))
(*.f32 (fma.f32 (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 x #s(literal 5 binary32)))) #s(literal -1/8 binary32) (fma.f32 #s(literal -1/2 binary32) (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 x #s(literal 3 binary32)))) (sqrt.f32 (/.f32 #s(literal 1 binary32) x)))) x)
(* -1 (* x (+ (* -1/8 (* (sqrt (/ 1 (pow x 5))) (/ 1 (pow (sqrt -1) 2)))) (+ (* 1/16 (* (sqrt (/ 1 (pow x 7))) (/ 1 (pow (sqrt -1) 4)))) (+ (* 1/2 (sqrt (/ 1 (pow x 3)))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))))
(*.f32 (fma.f32 #s(literal -1/16 binary32) (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 x #s(literal 7 binary32)))) (fma.f32 (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 x #s(literal 5 binary32)))) #s(literal -1/8 binary32) (fma.f32 #s(literal -1/2 binary32) (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 x #s(literal 3 binary32)))) (*.f32 (sqrt.f32 (/.f32 #s(literal 1 binary32) x)) #s(literal 1 binary32))))) x)
(* -1 x)
(neg.f32 x)
(* -1 (* x (+ 1 (* 1/2 (/ 1 x)))))
(*.f32 (-.f32 (/.f32 #s(literal -1/2 binary32) x) #s(literal 1 binary32)) x)
(* -1 (* x (+ 1 (+ (/ 3/8 (pow x 2)) (* 1/2 (/ 1 x))))))
(neg.f32 (fma.f32 (/.f32 (+.f32 (/.f32 #s(literal 3/8 binary32) x) #s(literal 1/2 binary32)) x) x x))
(* -1 (* x (+ 1 (* -1 (/ (- (* -1 (/ (- 3/8 (* 3/16 (/ 1 x))) x)) 1/2) x)))))
(*.f32 (+.f32 (/.f32 (-.f32 (/.f32 (+.f32 #s(literal -3/8 binary32) (/.f32 #s(literal 3/16 binary32) x)) x) #s(literal 1/2 binary32)) x) #s(literal -1 binary32)) x)
(* (sqrt (pow x 3)) (pow (sqrt -1) 2))
(*.f32 (sqrt.f32 (pow.f32 x #s(literal 3 binary32))) #s(literal -1 binary32))
(* (pow x 2) (+ (* 1/2 (* (sqrt (/ 1 (pow x 7))) (pow (sqrt -1) 2))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2))))
(*.f32 (fma.f32 #s(literal -1/2 binary32) (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 x #s(literal 7 binary32)))) (*.f32 (sqrt.f32 (/.f32 #s(literal 1 binary32) x)) #s(literal -1 binary32))) (*.f32 x x))
(* (pow x 2) (+ (* -1/8 (* (sqrt (/ 1 (pow x 13))) (pow (sqrt -1) 2))) (+ (* 1/2 (* (sqrt (/ 1 (pow x 7))) (pow (sqrt -1) 2))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))
(*.f32 (fma.f32 (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 x #s(literal 13 binary32)))) #s(literal 1/8 binary32) (fma.f32 #s(literal -1/2 binary32) (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 x #s(literal 7 binary32)))) (*.f32 (sqrt.f32 (/.f32 #s(literal 1 binary32) x)) #s(literal -1 binary32)))) (*.f32 x x))
(* (pow x 2) (+ (* -1/8 (* (sqrt (/ 1 (pow x 13))) (pow (sqrt -1) 2))) (+ (* 1/16 (* (sqrt (/ 1 (pow x 19))) (pow (sqrt -1) 2))) (+ (* 1/2 (* (sqrt (/ 1 (pow x 7))) (pow (sqrt -1) 2))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2))))))
(*.f32 (fma.f32 (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 x #s(literal 19 binary32)))) #s(literal -1/16 binary32) (fma.f32 (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 x #s(literal 13 binary32)))) #s(literal 1/8 binary32) (fma.f32 #s(literal -1/2 binary32) (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 x #s(literal 7 binary32)))) (*.f32 (sqrt.f32 (/.f32 #s(literal 1 binary32) x)) #s(literal -1 binary32))))) (*.f32 x x))
(* -1 (* x (+ (* 1/2 (* (sqrt (/ 1 (pow x 3))) (pow (sqrt -1) 2))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))
(*.f32 (fma.f32 (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 x #s(literal 3 binary32)))) #s(literal 1/2 binary32) (sqrt.f32 (/.f32 #s(literal 1 binary32) x))) x)
(* -1 (* x (+ (* -1/8 (* (sqrt (/ 1 (pow x 5))) (pow (sqrt -1) 2))) (+ (* 1/2 (* (sqrt (/ 1 (pow x 3))) (pow (sqrt -1) 2))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2))))))
(fma.f32 (fma.f32 (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 x #s(literal 3 binary32)))) #s(literal 1/2 binary32) (sqrt.f32 (/.f32 #s(literal 1 binary32) x))) x (*.f32 (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 x #s(literal 5 binary32)))) (*.f32 #s(literal -1/8 binary32) x)))
(* -1 (* x (+ (* -1/8 (* (sqrt (/ 1 (pow x 5))) (pow (sqrt -1) 2))) (+ (* 1/16 (* (sqrt (/ 1 (pow x 7))) (pow (sqrt -1) 2))) (+ (* 1/2 (* (sqrt (/ 1 (pow x 3))) (pow (sqrt -1) 2))) (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)))))))
(*.f32 (fma.f32 (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 x #s(literal 7 binary32)))) #s(literal 1/16 binary32) (fma.f32 (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 x #s(literal 5 binary32)))) #s(literal -1/8 binary32) (fma.f32 (sqrt.f32 (/.f32 #s(literal 1 binary32) (pow.f32 x #s(literal 3 binary32)))) #s(literal 1/2 binary32) (*.f32 (sqrt.f32 (/.f32 #s(literal 1 binary32) x)) #s(literal 1 binary32))))) x)

rewrite95.0ms (3.1%)

Memory
4.5MiB live, 173.0MiB allocated; 12ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
023131
037124
113972
0106166
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
10 → 70
Calls
Call 1
Inputs
(log.f32 (+.f32 x #s(approx (* (sqrt (- x -1)) (sqrt (- x 1))) x)))
(+.f32 x #s(approx (* (sqrt (- x -1)) (sqrt (- x 1))) x))
#s(approx (* (sqrt (- x -1)) (sqrt (- x 1))) x)
(+.f32 x (*.f32 (sqrt.f32 (-.f32 x #s(literal -1 binary32))) (/.f32 (sqrt.f32 (-.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal 1 binary32))) (sqrt.f32 (fma.f32 x x (-.f32 x #s(literal -1 binary32)))))))
(log.f32 (+.f32 x (*.f32 (sqrt.f32 (-.f32 x #s(literal -1 binary32))) (/.f32 (sqrt.f32 (-.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal 1 binary32))) (sqrt.f32 (fma.f32 x x (-.f32 x #s(literal -1 binary32))))))))
(*.f32 (sqrt.f32 (-.f32 x #s(literal -1 binary32))) (/.f32 (sqrt.f32 (-.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal 1 binary32))) (sqrt.f32 (fma.f32 x x (-.f32 x #s(literal -1 binary32))))))
(sqrt.f32 (-.f32 x #s(literal -1 binary32)))
(sqrt.f32 (fma.f32 x x (-.f32 x #s(literal -1 binary32))))
(sqrt.f32 (-.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal 1 binary32)))
(/.f32 (sqrt.f32 (-.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal 1 binary32))) (sqrt.f32 (fma.f32 x x (-.f32 x #s(literal -1 binary32)))))
Outputs
(log.f32 (+.f32 #s(approx (* (sqrt (- x -1)) (sqrt (- x 1))) x) x))
(-.f32 (log.f32 (*.f32 (+.f32 #s(approx (* (sqrt (- x -1)) (sqrt (- x 1))) x) x) (-.f32 x #s(approx (* (sqrt (- x -1)) (sqrt (- x 1))) x)))) (log.f32 (-.f32 x #s(approx (* (sqrt (- x -1)) (sqrt (- x 1))) x))))
(-.f32 (log.f32 (+.f32 (pow.f32 #s(approx (* (sqrt (- x -1)) (sqrt (- x 1))) x) #s(literal 3 binary32)) (pow.f32 x #s(literal 3 binary32)))) (log.f32 (fma.f32 #s(approx (* (sqrt (- x -1)) (sqrt (- x 1))) x) (-.f32 #s(approx (* (sqrt (- x -1)) (sqrt (- x 1))) x) x) (*.f32 x x))))
(/.f32 (-.f32 (pow.f32 #s(approx (* (sqrt (- x -1)) (sqrt (- x 1))) x) #s(literal 2 binary32)) (*.f32 x x)) (-.f32 #s(approx (* (sqrt (- x -1)) (sqrt (- x 1))) x) x))
(/.f32 (neg.f32 (*.f32 (+.f32 #s(approx (* (sqrt (- x -1)) (sqrt (- x 1))) x) x) (-.f32 x #s(approx (* (sqrt (- x -1)) (sqrt (- x 1))) x)))) (neg.f32 (-.f32 x #s(approx (* (sqrt (- x -1)) (sqrt (- x 1))) x))))
(/.f32 (neg.f32 (+.f32 (pow.f32 #s(approx (* (sqrt (- x -1)) (sqrt (- x 1))) x) #s(literal 3 binary32)) (pow.f32 x #s(literal 3 binary32)))) (neg.f32 (fma.f32 #s(approx (* (sqrt (- x -1)) (sqrt (- x 1))) x) (-.f32 #s(approx (* (sqrt (- x -1)) (sqrt (- x 1))) x) x) (*.f32 x x))))
(/.f32 (*.f32 (+.f32 #s(approx (* (sqrt (- x -1)) (sqrt (- x 1))) x) x) (-.f32 x #s(approx (* (sqrt (- x -1)) (sqrt (- x 1))) x))) (-.f32 x #s(approx (* (sqrt (- x -1)) (sqrt (- x 1))) x)))
(/.f32 (+.f32 (pow.f32 #s(approx (* (sqrt (- x -1)) (sqrt (- x 1))) x) #s(literal 3 binary32)) (pow.f32 x #s(literal 3 binary32))) (fma.f32 #s(approx (* (sqrt (- x -1)) (sqrt (- x 1))) x) #s(approx (* (sqrt (- x -1)) (sqrt (- x 1))) x) (-.f32 (*.f32 x x) (*.f32 #s(approx (* (sqrt (- x -1)) (sqrt (- x 1))) x) x))))
(/.f32 (+.f32 (pow.f32 #s(approx (* (sqrt (- x -1)) (sqrt (- x 1))) x) #s(literal 3 binary32)) (pow.f32 x #s(literal 3 binary32))) (fma.f32 #s(approx (* (sqrt (- x -1)) (sqrt (- x 1))) x) (-.f32 #s(approx (* (sqrt (- x -1)) (sqrt (- x 1))) x) x) (*.f32 x x)))
(-.f32 (/.f32 (*.f32 x x) (-.f32 x #s(approx (* (sqrt (- x -1)) (sqrt (- x 1))) x))) (/.f32 (pow.f32 #s(approx (* (sqrt (- x -1)) (sqrt (- x 1))) x) #s(literal 2 binary32)) (-.f32 x #s(approx (* (sqrt (- x -1)) (sqrt (- x 1))) x))))
(+.f32 (/.f32 (pow.f32 x #s(literal 3 binary32)) (fma.f32 #s(approx (* (sqrt (- x -1)) (sqrt (- x 1))) x) (-.f32 #s(approx (* (sqrt (- x -1)) (sqrt (- x 1))) x) x) (*.f32 x x))) (/.f32 (pow.f32 #s(approx (* (sqrt (- x -1)) (sqrt (- x 1))) x) #s(literal 3 binary32)) (fma.f32 #s(approx (* (sqrt (- x -1)) (sqrt (- x 1))) x) (-.f32 #s(approx (* (sqrt (- x -1)) (sqrt (- x 1))) x) x) (*.f32 x x))))
(+.f32 #s(approx (* (sqrt (- x -1)) (sqrt (- x 1))) x) x)
(+.f32 x #s(approx (* (sqrt (- x -1)) (sqrt (- x 1))) x))
#s(approx (* (sqrt (- x -1)) (sqrt (- x 1))) x)
(/.f32 (-.f32 (pow.f32 (sqrt.f32 (fma.f32 x x #s(literal -1 binary32))) #s(literal 2 binary32)) (*.f32 x x)) (-.f32 (sqrt.f32 (fma.f32 x x #s(literal -1 binary32))) x))
(/.f32 (-.f32 (pow.f32 x #s(literal 3 binary32)) (pow.f32 (neg.f32 (sqrt.f32 (fma.f32 x x #s(literal -1 binary32)))) #s(literal 3 binary32))) (fma.f32 x x (+.f32 (pow.f32 (sqrt.f32 (fma.f32 x x #s(literal -1 binary32))) #s(literal 2 binary32)) (*.f32 x (neg.f32 (sqrt.f32 (fma.f32 x x #s(literal -1 binary32))))))))
(/.f32 (neg.f32 (-.f32 (*.f32 x x) (pow.f32 (sqrt.f32 (fma.f32 x x #s(literal -1 binary32))) #s(literal 2 binary32)))) (neg.f32 (-.f32 x (sqrt.f32 (fma.f32 x x #s(literal -1 binary32))))))
(/.f32 (neg.f32 (+.f32 (pow.f32 (sqrt.f32 (fma.f32 x x #s(literal -1 binary32))) #s(literal 3 binary32)) (pow.f32 x #s(literal 3 binary32)))) (neg.f32 (fma.f32 (sqrt.f32 (fma.f32 x x #s(literal -1 binary32))) (-.f32 (sqrt.f32 (fma.f32 x x #s(literal -1 binary32))) x) (*.f32 x x))))
(/.f32 (-.f32 (*.f32 x x) (pow.f32 (sqrt.f32 (fma.f32 x x #s(literal -1 binary32))) #s(literal 2 binary32))) (-.f32 x (sqrt.f32 (fma.f32 x x #s(literal -1 binary32)))))
(/.f32 (+.f32 (pow.f32 (sqrt.f32 (fma.f32 x x #s(literal -1 binary32))) #s(literal 3 binary32)) (pow.f32 x #s(literal 3 binary32))) (+.f32 (pow.f32 (sqrt.f32 (fma.f32 x x #s(literal -1 binary32))) #s(literal 2 binary32)) (-.f32 (*.f32 x x) (*.f32 (sqrt.f32 (fma.f32 x x #s(literal -1 binary32))) x))))
(/.f32 (+.f32 (pow.f32 (sqrt.f32 (fma.f32 x x #s(literal -1 binary32))) #s(literal 3 binary32)) (pow.f32 x #s(literal 3 binary32))) (fma.f32 (sqrt.f32 (fma.f32 x x #s(literal -1 binary32))) (-.f32 (sqrt.f32 (fma.f32 x x #s(literal -1 binary32))) x) (*.f32 x x)))
(-.f32 (/.f32 (*.f32 x x) (-.f32 x (sqrt.f32 (fma.f32 x x #s(literal -1 binary32))))) (/.f32 (pow.f32 (sqrt.f32 (fma.f32 x x #s(literal -1 binary32))) #s(literal 2 binary32)) (-.f32 x (sqrt.f32 (fma.f32 x x #s(literal -1 binary32))))))
(-.f32 x (*.f32 (neg.f32 (sqrt.f32 (-.f32 x #s(literal 1 binary32)))) (sqrt.f32 (-.f32 x #s(literal -1 binary32)))))
(-.f32 x (neg.f32 (sqrt.f32 (fma.f32 x x #s(literal -1 binary32)))))
(fma.f32 (sqrt.f32 (-.f32 x #s(literal 1 binary32))) (sqrt.f32 (-.f32 x #s(literal -1 binary32))) x)
(fma.f32 (sqrt.f32 (-.f32 x #s(literal -1 binary32))) (sqrt.f32 (-.f32 x #s(literal 1 binary32))) x)
(+.f32 (/.f32 (pow.f32 x #s(literal 3 binary32)) (fma.f32 (sqrt.f32 (fma.f32 x x #s(literal -1 binary32))) (-.f32 (sqrt.f32 (fma.f32 x x #s(literal -1 binary32))) x) (*.f32 x x))) (/.f32 (pow.f32 (sqrt.f32 (fma.f32 x x #s(literal -1 binary32))) #s(literal 3 binary32)) (fma.f32 (sqrt.f32 (fma.f32 x x #s(literal -1 binary32))) (-.f32 (sqrt.f32 (fma.f32 x x #s(literal -1 binary32))) x) (*.f32 x x))))
(+.f32 (sqrt.f32 (fma.f32 x x #s(literal -1 binary32))) x)
(+.f32 x (*.f32 (neg.f32 (neg.f32 (sqrt.f32 (-.f32 x #s(literal -1 binary32))))) (sqrt.f32 (-.f32 x #s(literal 1 binary32)))))
(+.f32 x (sqrt.f32 (fma.f32 x x #s(literal -1 binary32))))
(log.f32 (+.f32 (sqrt.f32 (fma.f32 x x #s(literal -1 binary32))) x))
(-.f32 (log.f32 (-.f32 (*.f32 x x) (pow.f32 (sqrt.f32 (fma.f32 x x #s(literal -1 binary32))) #s(literal 2 binary32)))) (log.f32 (-.f32 x (sqrt.f32 (fma.f32 x x #s(literal -1 binary32))))))
(-.f32 (log.f32 (+.f32 (pow.f32 (sqrt.f32 (fma.f32 x x #s(literal -1 binary32))) #s(literal 3 binary32)) (pow.f32 x #s(literal 3 binary32)))) (log.f32 (fma.f32 (sqrt.f32 (fma.f32 x x #s(literal -1 binary32))) (-.f32 (sqrt.f32 (fma.f32 x x #s(literal -1 binary32))) x) (*.f32 x x))))
(*.f32 (sqrt.f32 (-.f32 x #s(literal 1 binary32))) (sqrt.f32 (-.f32 x #s(literal -1 binary32))))
(*.f32 (sqrt.f32 (-.f32 x #s(literal -1 binary32))) (sqrt.f32 (-.f32 x #s(literal 1 binary32))))
(sqrt.f32 (fma.f32 x x #s(literal -1 binary32)))
(/.f32 (*.f32 (neg.f32 (sinh.f32 (acosh.f32 (pow.f32 x #s(literal 3/2 binary32))))) (sqrt.f32 (-.f32 x #s(literal -1 binary32)))) (neg.f32 (sqrt.f32 (fma.f32 x x (-.f32 x #s(literal -1 binary32))))))
(/.f32 (*.f32 (sqrt.f32 (-.f32 x #s(literal -1 binary32))) (neg.f32 (sinh.f32 (acosh.f32 (pow.f32 x #s(literal 3/2 binary32)))))) (neg.f32 (sqrt.f32 (fma.f32 x x (-.f32 x #s(literal -1 binary32))))))
(/.f32 (neg.f32 (*.f32 (sinh.f32 (acosh.f32 (pow.f32 x #s(literal 3/2 binary32)))) (sqrt.f32 (-.f32 x #s(literal -1 binary32))))) (neg.f32 (sqrt.f32 (fma.f32 x x (-.f32 x #s(literal -1 binary32))))))
(/.f32 (*.f32 (sinh.f32 (acosh.f32 (pow.f32 x #s(literal 3/2 binary32)))) (sqrt.f32 (-.f32 x #s(literal -1 binary32)))) (sqrt.f32 (fma.f32 x x (-.f32 x #s(literal -1 binary32)))))
(pow.f32 (fma.f32 x x #s(literal -1 binary32)) #s(literal 1/2 binary32))
(*.f32 (pow.f32 (-.f32 x #s(literal -1 binary32)) #s(literal 1/4 binary32)) (pow.f32 (-.f32 x #s(literal -1 binary32)) #s(literal 1/4 binary32)))
(sqrt.f32 (-.f32 x #s(literal -1 binary32)))
(/.f32 (sqrt.f32 (-.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal -1 binary32))) (sqrt.f32 (fma.f32 x x (fma.f32 #s(literal -1 binary32) x #s(literal 1 binary32)))))
(/.f32 (sqrt.f32 (fma.f32 x x #s(literal -1 binary32))) (sqrt.f32 (-.f32 x #s(literal 1 binary32))))
(pow.f32 (-.f32 x #s(literal -1 binary32)) #s(literal 1/2 binary32))
(exp.f32 (*.f32 (log1p.f32 x) #s(literal 1/2 binary32)))
(*.f32 (pow.f32 (fma.f32 x x (-.f32 x #s(literal -1 binary32))) #s(literal 1/4 binary32)) (pow.f32 (fma.f32 x x (-.f32 x #s(literal -1 binary32))) #s(literal 1/4 binary32)))
(sqrt.f32 (fma.f32 x x (-.f32 x #s(literal -1 binary32))))
(/.f32 (sqrt.f32 (-.f32 (pow.f32 x #s(literal 4 binary32)) (pow.f32 (-.f32 x #s(literal -1 binary32)) #s(literal 2 binary32)))) (sqrt.f32 (-.f32 (*.f32 x x) (-.f32 x #s(literal -1 binary32)))))
(/.f32 (hypot.f32 (pow.f32 (-.f32 x #s(literal -1 binary32)) #s(literal 3/2 binary32)) (pow.f32 x #s(literal 3 binary32))) (sqrt.f32 (fma.f32 (-.f32 x #s(literal -1 binary32)) (-.f32 (-.f32 x #s(literal -1 binary32)) (*.f32 x x)) (pow.f32 x #s(literal 4 binary32)))))
(pow.f32 (fma.f32 x x (-.f32 x #s(literal -1 binary32))) #s(literal 1/2 binary32))
(exp.f32 (*.f32 (log.f32 (fma.f32 x x (-.f32 x #s(literal -1 binary32)))) #s(literal 1/2 binary32)))
(*.f32 (pow.f32 (-.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal 1 binary32)) #s(literal 1/4 binary32)) (pow.f32 (-.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal 1 binary32)) #s(literal 1/4 binary32)))
(sqrt.f32 (-.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal 1 binary32)))
(/.f32 (sqrt.f32 (-.f32 (pow.f32 x #s(literal 6 binary32)) #s(literal 1 binary32))) (sqrt.f32 (-.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal -1 binary32))))
(/.f32 (sqrt.f32 (-.f32 (pow.f32 x #s(literal 9 binary32)) #s(literal 1 binary32))) (sqrt.f32 (+.f32 (+.f32 (pow.f32 x #s(literal 6 binary32)) #s(literal 1 binary32)) (pow.f32 x #s(literal 3 binary32)))))
(pow.f32 (-.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal 1 binary32)) #s(literal 1/2 binary32))
(exp.f32 (*.f32 (log.f32 (-.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal 1 binary32))) #s(literal 1/2 binary32)))
(sinh.f32 (acosh.f32 (pow.f32 x #s(literal 3/2 binary32))))
(*.f32 (pow.f32 (-.f32 x #s(literal 1 binary32)) #s(literal 1/4 binary32)) (pow.f32 (-.f32 x #s(literal 1 binary32)) #s(literal 1/4 binary32)))
(sqrt.f32 (-.f32 x #s(literal 1 binary32)))
(/.f32 (neg.f32 (neg.f32 (sinh.f32 (acosh.f32 (pow.f32 x #s(literal 3/2 binary32)))))) (neg.f32 (neg.f32 (sqrt.f32 (fma.f32 x x (-.f32 x #s(literal -1 binary32)))))))
(/.f32 (neg.f32 (sinh.f32 (acosh.f32 (pow.f32 x #s(literal 3/2 binary32))))) (neg.f32 (sqrt.f32 (fma.f32 x x (-.f32 x #s(literal -1 binary32))))))
(/.f32 (sqrt.f32 (fma.f32 x x #s(literal -1 binary32))) (sqrt.f32 (-.f32 x #s(literal -1 binary32))))
(/.f32 (sinh.f32 (acosh.f32 (pow.f32 x #s(literal 3/2 binary32)))) (sqrt.f32 (fma.f32 x x (-.f32 x #s(literal -1 binary32)))))
(pow.f32 (-.f32 x #s(literal 1 binary32)) #s(literal 1/2 binary32))
(exp.f32 (*.f32 (log.f32 (-.f32 x #s(literal 1 binary32))) #s(literal 1/2 binary32)))
(neg.f32 (/.f32 (neg.f32 (sinh.f32 (acosh.f32 (pow.f32 x #s(literal 3/2 binary32))))) (sqrt.f32 (fma.f32 x x (-.f32 x #s(literal -1 binary32))))))
(neg.f32 (/.f32 (sinh.f32 (acosh.f32 (pow.f32 x #s(literal 3/2 binary32)))) (neg.f32 (sqrt.f32 (fma.f32 x x (-.f32 x #s(literal -1 binary32)))))))

eval18.0ms (0.6%)

Memory
-0.7MiB live, 46.0MiB allocated; 2ms collecting garbage
Compiler

Compiled 4 146 to 795 computations (80.8% saved)

prune6.0ms (0.2%)

Memory
-29.6MiB live, 16.8MiB allocated; 3ms collecting garbage
Pruning

5 alts after pruning (0 fresh and 5 done)

PrunedKeptTotal
New1390139
Fresh000
Picked022
Done033
Total1395144
Accuracy
100.0%
Counts
144 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
39.0%
(log.f32 (+.f32 x (*.f32 (sqrt.f32 (-.f32 x #s(literal -1 binary32))) (/.f32 (sqrt.f32 (-.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal 1 binary32))) (sqrt.f32 (fma.f32 x x (-.f32 x #s(literal -1 binary32))))))))
99.6%
(log.f32 (+.f32 x (*.f32 (sqrt.f32 (-.f32 x #s(literal -1 binary32))) (sqrt.f32 (-.f32 x #s(literal 1 binary32))))))
58.7%
(log.f32 (+.f32 x (sqrt.f32 (fma.f32 x x #s(literal -1 binary32)))))
96.7%
(log.f32 (+.f32 x #s(approx (* (sqrt (- x -1)) (sqrt (- x 1))) x)))
99.3%
(acosh.f32 x)
Compiler

Compiled 138 to 92 computations (33.3% saved)

regimes8.0ms (0.3%)

Memory
19.3MiB live, 19.3MiB allocated; 0ms collecting garbage
Counts
7 → 1
Calls
Call 1
Inputs
(acosh.f32 x)
(log.f32 (+.f32 x #s(approx (* (sqrt (- x -1)) (sqrt (- x 1))) x)))
(log.f32 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f32 #s(literal 2 binary32) x)))
(log.f32 (+.f32 x (sqrt.f32 (fma.f32 x x #s(literal -1 binary32)))))
(log.f32 (+.f32 x (sqrt.f32 (-.f32 (*.f32 x x) #s(literal 1 binary32)))))
(log.f32 (+.f32 x (*.f32 (sqrt.f32 (-.f32 x #s(literal -1 binary32))) (sqrt.f32 (-.f32 x #s(literal 1 binary32))))))
(log.f32 (+.f32 x (*.f32 (sqrt.f32 (-.f32 x #s(literal -1 binary32))) (/.f32 (sqrt.f32 (-.f32 (pow.f32 x #s(literal 3 binary32)) #s(literal 1 binary32))) (sqrt.f32 (fma.f32 x x (-.f32 x #s(literal -1 binary32))))))))
Outputs
(log.f32 (+.f32 x (*.f32 (sqrt.f32 (-.f32 x #s(literal -1 binary32))) (sqrt.f32 (-.f32 x #s(literal 1 binary32))))))
Calls

3 calls:

2.0ms
x
2.0ms
(log.f32 (+.f32 x (sqrt.f32 (-.f32 (*.f32 x x) #s(literal 1 binary32)))))
2.0ms
(+.f32 x (sqrt.f32 (-.f32 (*.f32 x x) #s(literal 1 binary32))))
Results
AccuracySegmentsBranch
99.6%1(+.f32 x (sqrt.f32 (-.f32 (*.f32 x x) #s(literal 1 binary32))))
99.6%1(log.f32 (+.f32 x (sqrt.f32 (-.f32 (*.f32 x x) #s(literal 1 binary32)))))
99.6%1x
Compiler

Compiled 18 to 14 computations (22.2% saved)

regimes6.0ms (0.2%)

Memory
15.8MiB live, 15.8MiB allocated; 0ms collecting garbage
Accuracy

Total -14.0b remaining (-6296.1%)

Threshold costs -14b (-6296.1%)

Counts
5 → 1
Calls
Call 1
Inputs
(acosh.f32 x)
(log.f32 (+.f32 x #s(approx (* (sqrt (- x -1)) (sqrt (- x 1))) x)))
(log.f32 #s(approx (+ x (sqrt (- (* x x) 1))) (*.f32 #s(literal 2 binary32) x)))
(log.f32 (+.f32 x (sqrt.f32 (fma.f32 x x #s(literal -1 binary32)))))
(log.f32 (+.f32 x (sqrt.f32 (-.f32 (*.f32 x x) #s(literal 1 binary32)))))
Outputs
(acosh.f32 x)
Calls

3 calls:

2.0ms
x
2.0ms
(log.f32 (+.f32 x (sqrt.f32 (-.f32 (*.f32 x x) #s(literal 1 binary32)))))
2.0ms
(+.f32 x (sqrt.f32 (-.f32 (*.f32 x x) #s(literal 1 binary32))))
Results
AccuracySegmentsBranch
99.3%1(+.f32 x (sqrt.f32 (-.f32 (*.f32 x x) #s(literal 1 binary32))))
99.3%1(log.f32 (+.f32 x (sqrt.f32 (-.f32 (*.f32 x x) #s(literal 1 binary32)))))
99.3%1x
Compiler

Compiled 18 to 14 computations (22.2% saved)

simplify65.0ms (2.2%)

Memory
-24.1MiB live, 68.0MiB allocated; 17ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01114
11714
22614
34114
48714
534214
6328514
7724014
Stop Event
node limit
Calls
Call 1
Inputs
(log.f32 (+.f32 x (*.f32 (sqrt.f32 (-.f32 x #s(literal -1 binary32))) (sqrt.f32 (-.f32 x #s(literal 1 binary32))))))
(acosh.f32 x)
Outputs
(log.f32 (+.f32 x (*.f32 (sqrt.f32 (-.f32 x #s(literal -1 binary32))) (sqrt.f32 (-.f32 x #s(literal 1 binary32))))))
(acosh.f32 x)

derivations63.0ms (2.1%)

Memory
28.5MiB live, 75.3MiB allocated; 6ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0728
01215
15315
040014
Stop Event
done
iter limit
iter limit
iter limit
unsound
iter limit
Compiler

Compiled 14 to 11 computations (21.4% saved)

preprocess44.0ms (1.5%)

Memory
-1.4MiB live, 42.9MiB allocated; 9ms collecting garbage
Compiler

Compiled 70 to 54 computations (22.9% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated; 0ms collecting garbage

Profiling

Loading profile data...