Curve intersection, scale width based on ribbon orientation

Time bar (total: 4.2s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated

analyze324.0ms (7.8%)

Memory
20.5MiB live, 483.5MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%0.8%99.2%0%0%0%0
0%0%0.8%99.2%0%0%0%1
0%0%0.8%99.2%0%0%0%2
0%0%0.8%99.2%0%0%0%3
0%0%0.8%99.2%0%0%0%4
0%0%0.8%99.2%0%0%0%5
16.7%0.1%0.5%99.2%0%0.2%0%6
25%0.1%0.4%99.2%0%0.2%0%7
25%0.1%0.4%99.2%0%0.2%0%8
25%0.1%0.4%99.2%0%0.2%0%9
45%0.2%0.3%99.2%0%0.3%0%10
52.5%0.3%0.2%99.2%0%0.3%0%11
52.5%0.3%0.2%99.2%0%0.3%0%12
Compiler

Compiled 59 to 39 computations (33.9% saved)

sample3.0s (71.4%)

Memory
-81.1MiB live, 3 926.4MiB allocated
Samples
1.5s8 256×0valid
756.0ms2 023×0invalid
Precisions
Click to see histograms. Total time spent on operations: 1.9s
ival-sin: 680.0ms (35.1% of total)
ival-mult: 398.0ms (20.5% of total)
ival-<=: 234.0ms (12.1% of total)
const: 194.0ms (10% of total)
ival-div: 188.0ms (9.7% of total)
ival-sub: 63.0ms (3.3% of total)
ival-add: 54.0ms (2.8% of total)
ival-and: 53.0ms (2.7% of total)
ival-pi: 46.0ms (2.4% of total)
exact: 23.0ms (1.2% of total)
ival-assert: 4.0ms (0.2% of total)
Bogosity

explain198.0ms (4.8%)

Memory
8.2MiB live, 341.8MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
230-20(2.387693192580328e-38 2.1711626686737873e-5 -5.008140156173156e-26 4.058639099596765e-17)(*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))
10-0-(*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))
00-0-(*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i)
00-0-(sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))
00-0-(*.f32 u normAngle)
00-0-n1_i
00-0-(*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)
00-0-(*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i)
00-0-n0_i
00-0-normAngle
00-0-(-.f32 #s(literal 1 binary32) u)
00-0-(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
00-0-#s(literal 1 binary32)
00-0-(sin.f32 (*.f32 u normAngle))
00-0-u
00-0-(sin.f32 normAngle)
00-0-(/.f32 #s(literal 1 binary32) (sin.f32 normAngle))
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
*.f32(*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))n*u20
*.f32(*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))n*o10
*.f32(*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))n*o10
Confusion
Predicted +Predicted -
+28
-1245
Precision
0.6666666666666666
Recall
0.2
Confusion?
Predicted +Predicted MaybePredicted -
+208
-10245
Precision?
0.6666666666666666
Recall?
0.2
Freqs
test
numberfreq
0253
12
21
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
62.0ms500×0valid
3.0ms12×1valid
Compiler

Compiled 332 to 72 computations (78.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 44.0ms
ival-mult: 21.0ms (47.7% of total)
ival-sin: 13.0ms (29.5% of total)
ival-div: 4.0ms (9.1% of total)
ival-sub: 3.0ms (6.8% of total)
ival-add: 2.0ms (4.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)

preprocess4.0ms (0.1%)

Memory
7.0MiB live, 7.0MiB allocated
Algorithm
egg-herbie
Calls
Call 1
Inputs
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
Outputs
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
Compiler

Compiled 25 to 17 computations (32% saved)

eval0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated
Compiler

Compiled 0 to 4 computations (-∞% saved)

prune1.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
96.9%
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
Compiler

Compiled 25 to 17 computations (32% saved)

simplify1.0ms (0%)

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

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))
cost-diff0
(*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))
cost-diff0
(*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i)
cost-diff0
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
Calls
Call 1
Inputs
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
(*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i)
(*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))
(sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))
(*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)
(-.f32 #s(literal 1 binary32) u)
#s(literal 1 binary32)
u
normAngle
(/.f32 #s(literal 1 binary32) (sin.f32 normAngle))
(sin.f32 normAngle)
n0_i
(*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i)
(*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))
(sin.f32 (*.f32 u normAngle))
(*.f32 u normAngle)
n1_i
Outputs
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
(*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i)
(*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))
(sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))
(*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)
(-.f32 #s(literal 1 binary32) u)
#s(literal 1 binary32)
u
normAngle
(/.f32 #s(literal 1 binary32) (sin.f32 normAngle))
(sin.f32 normAngle)
n0_i
(*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i)
(*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))
(sin.f32 (*.f32 u normAngle))
(*.f32 u normAngle)
n1_i

localize47.0ms (1.1%)

Memory
-17.6MiB live, 60.5MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.13671875
(*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)
accuracy0.22265625
(*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i)
accuracy0.5280075272154254
(*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))
accuracy1.6360663614257547
(*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))
Samples
31.0ms250×0valid
6.0ms1valid
Compiler

Compiled 204 to 36 computations (82.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 27.0ms
ival-sin: 13.0ms (48.3% of total)
ival-mult: 9.0ms (33.4% of total)
ival-div: 2.0ms (7.4% of total)
ival-add: 1.0ms (3.7% of total)
ival-sub: 1.0ms (3.7% 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)

series38.0ms (0.9%)

Memory
11.8MiB live, 48.8MiB allocated
Counts
6 → 58
Calls
Call 1
Inputs
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
(*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i)
(*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))
(sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))
(*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))
(*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)
Outputs
(+ (* n0_i (- 1 u)) (* n1_i u))
(+ (* n0_i (- 1 u)) (+ (* n1_i u) (* (pow normAngle 2) (- (+ (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n1_i (pow u 3)))) (+ (* -1/6 (* n0_i (- 1 u))) (* -1/6 (* n1_i u)))))))
(+ (* n0_i (- 1 u)) (+ (* n1_i u) (* (pow normAngle 2) (- (+ (* -1/6 (* n0_i (pow (- 1 u) 3))) (+ (* -1/6 (* n1_i (pow u 3))) (* (pow normAngle 2) (- (+ (* 1/120 (* n0_i (pow (- 1 u) 5))) (* 1/120 (* n1_i (pow u 5)))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (+ (* -1/6 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))) (+ (* 1/120 (* n0_i (- 1 u))) (* 1/120 (* n1_i u))))))))) (+ (* -1/6 (* n0_i (- 1 u))) (* -1/6 (* n1_i u)))))))
(+ (* n0_i (- 1 u)) (+ (* n1_i u) (* (pow normAngle 2) (- (+ (* -1/6 (* n0_i (pow (- 1 u) 3))) (+ (* -1/6 (* n1_i (pow u 3))) (* (pow normAngle 2) (- (+ (* 1/120 (* n0_i (pow (- 1 u) 5))) (+ (* 1/120 (* n1_i (pow u 5))) (* (pow normAngle 2) (- (+ (* -1/5040 (* n0_i (pow (- 1 u) 7))) (* -1/5040 (* n1_i (pow u 7)))) (+ (* -1/6 (- (* 1/120 (* n0_i (pow (- 1 u) 5))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (* 1/120 (* n0_i (- 1 u)))))) (+ (* -1/6 (- (* 1/120 (* n1_i (pow u 5))) (+ (* -1/6 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))) (* 1/120 (* n1_i u))))) (+ (* -1/5040 (* n0_i (- 1 u))) (+ (* -1/5040 (* n1_i u)) (+ (* 1/120 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (* 1/120 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u))))))))))))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (+ (* -1/6 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))) (+ (* 1/120 (* n0_i (- 1 u))) (* 1/120 (* n1_i u))))))))) (+ (* -1/6 (* n0_i (- 1 u))) (* -1/6 (* n1_i u)))))))
(* n0_i (- 1 u))
(+ (* n0_i (- 1 u)) (* (pow normAngle 2) (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))))
(+ (* n0_i (- 1 u)) (* (pow normAngle 2) (- (+ (* -1/6 (* n0_i (pow (- 1 u) 3))) (* (pow normAngle 2) (- (* 1/120 (* n0_i (pow (- 1 u) 5))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (* 1/120 (* n0_i (- 1 u))))))) (* -1/6 (* n0_i (- 1 u))))))
(+ (* n0_i (- 1 u)) (* (pow normAngle 2) (- (+ (* -1/6 (* n0_i (pow (- 1 u) 3))) (* (pow normAngle 2) (- (+ (* 1/120 (* n0_i (pow (- 1 u) 5))) (* (pow normAngle 2) (- (* -1/5040 (* n0_i (pow (- 1 u) 7))) (+ (* -1/6 (- (* 1/120 (* n0_i (pow (- 1 u) 5))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (* 1/120 (* n0_i (- 1 u)))))) (+ (* -1/5040 (* n0_i (- 1 u))) (* 1/120 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u)))))))))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (* 1/120 (* n0_i (- 1 u))))))) (* -1/6 (* n0_i (- 1 u))))))
(- 1 u)
(- (+ 1 (* (pow normAngle 2) (- (* -1/6 (pow (- 1 u) 3)) (* -1/6 (- 1 u))))) u)
(- (+ 1 (* (pow normAngle 2) (- (+ (* -1/6 (pow (- 1 u) 3)) (* (pow normAngle 2) (- (* 1/120 (pow (- 1 u) 5)) (+ (* -1/6 (- (* -1/6 (pow (- 1 u) 3)) (* -1/6 (- 1 u)))) (* 1/120 (- 1 u)))))) (* -1/6 (- 1 u))))) u)
(- (+ 1 (* (pow normAngle 2) (- (+ (* -1/6 (pow (- 1 u) 3)) (* (pow normAngle 2) (- (+ (* 1/120 (pow (- 1 u) 5)) (* (pow normAngle 2) (- (* -1/5040 (pow (- 1 u) 7)) (+ (* -1/6 (- (* 1/120 (pow (- 1 u) 5)) (+ (* -1/6 (- (* -1/6 (pow (- 1 u) 3)) (* -1/6 (- 1 u)))) (* 1/120 (- 1 u))))) (+ (* -1/5040 (- 1 u)) (* 1/120 (- (* -1/6 (pow (- 1 u) 3)) (* -1/6 (- 1 u))))))))) (+ (* -1/6 (- (* -1/6 (pow (- 1 u) 3)) (* -1/6 (- 1 u)))) (* 1/120 (- 1 u)))))) (* -1/6 (- 1 u))))) u)
(* normAngle (- 1 u))
(* normAngle (- (+ 1 (* -1/6 (* (pow normAngle 2) (pow (- 1 u) 3)))) u))
(* normAngle (- (+ 1 (* (pow normAngle 2) (+ (* -1/6 (pow (- 1 u) 3)) (* 1/120 (* (pow normAngle 2) (pow (- 1 u) 5)))))) u))
(* normAngle (- (+ 1 (* (pow normAngle 2) (+ (* -1/6 (pow (- 1 u) 3)) (* (pow normAngle 2) (+ (* -1/5040 (* (pow normAngle 2) (pow (- 1 u) 7))) (* 1/120 (pow (- 1 u) 5))))))) u))
u
(+ u (* (pow normAngle 2) (- (* -1/6 (pow u 3)) (* -1/6 u))))
(+ u (* (pow normAngle 2) (- (+ (* -1/6 (pow u 3)) (* (pow normAngle 2) (- (* 1/120 (pow u 5)) (+ (* -1/6 (- (* -1/6 (pow u 3)) (* -1/6 u))) (* 1/120 u))))) (* -1/6 u))))
(+ u (* (pow normAngle 2) (- (+ (* -1/6 (pow u 3)) (* (pow normAngle 2) (- (+ (* 1/120 (pow u 5)) (* (pow normAngle 2) (- (* -1/5040 (pow u 7)) (+ (* -1/6 (- (* 1/120 (pow u 5)) (+ (* -1/6 (- (* -1/6 (pow u 3)) (* -1/6 u))) (* 1/120 u)))) (+ (* -1/5040 u) (* 1/120 (- (* -1/6 (pow u 3)) (* -1/6 u)))))))) (+ (* -1/6 (- (* -1/6 (pow u 3)) (* -1/6 u))) (* 1/120 u))))) (* -1/6 u))))
(+ (/ (* n0_i (sin (* normAngle (- 1 u)))) (sin normAngle)) (/ (* n1_i (sin (* normAngle u))) (sin normAngle)))
(/ (* n0_i (sin (* normAngle (- 1 u)))) (sin normAngle))
(/ (sin (* normAngle (- 1 u))) (sin normAngle))
(sin (* normAngle (- 1 u)))
(/ (sin (* normAngle u)) (sin normAngle))
n0_i
(+ n0_i (* u (+ (* -1 (/ (* n0_i (* normAngle (cos normAngle))) (sin normAngle))) (/ (* n1_i normAngle) (sin normAngle)))))
(+ n0_i (* u (+ (* -1 (/ (* n0_i (* normAngle (cos normAngle))) (sin normAngle))) (+ (* -1/2 (* n0_i (* (pow normAngle 2) u))) (/ (* n1_i normAngle) (sin normAngle))))))
(+ n0_i (* u (+ (* -1 (/ (* n0_i (* normAngle (cos normAngle))) (sin normAngle))) (+ (* u (+ (* -1/2 (* n0_i (pow normAngle 2))) (* u (+ (* -1/6 (/ (* n1_i (pow normAngle 3)) (sin normAngle))) (* 1/6 (/ (* n0_i (* (pow normAngle 3) (cos normAngle))) (sin normAngle))))))) (/ (* n1_i normAngle) (sin normAngle))))))
(+ n0_i (* -1 (/ (* n0_i (* normAngle (* u (cos normAngle)))) (sin normAngle))))
(+ n0_i (* u (+ (* -1 (/ (* n0_i (* normAngle (cos normAngle))) (sin normAngle))) (* -1/2 (* n0_i (* (pow normAngle 2) u))))))
(+ n0_i (* u (+ (* -1 (/ (* n0_i (* normAngle (cos normAngle))) (sin normAngle))) (* u (+ (* -1/2 (* n0_i (pow normAngle 2))) (* 1/6 (/ (* n0_i (* (pow normAngle 3) (* u (cos normAngle)))) (sin normAngle))))))))
1
(+ 1 (* -1 (/ (* normAngle (* u (cos normAngle))) (sin normAngle))))
(+ 1 (* u (+ (* -1 (/ (* normAngle (cos normAngle)) (sin normAngle))) (* -1/2 (* (pow normAngle 2) u)))))
(+ 1 (* u (+ (* -1 (/ (* normAngle (cos normAngle)) (sin normAngle))) (* u (+ (* -1/2 (pow normAngle 2)) (* 1/6 (/ (* (pow normAngle 3) (* u (cos normAngle))) (sin normAngle))))))))
(sin normAngle)
(+ (sin normAngle) (* -1 (* normAngle (* u (cos normAngle)))))
(+ (sin normAngle) (* u (+ (* -1 (* normAngle (cos normAngle))) (* -1/2 (* (pow normAngle 2) (* u (sin normAngle)))))))
(+ (sin normAngle) (* u (+ (* -1 (* normAngle (cos normAngle))) (* u (+ (* -1/2 (* (pow normAngle 2) (sin normAngle))) (* 1/6 (* (pow normAngle 3) (* u (cos normAngle)))))))))
(/ (* normAngle u) (sin normAngle))
(* u (+ (* -1/6 (/ (* (pow normAngle 3) (pow u 2)) (sin normAngle))) (/ normAngle (sin normAngle))))
(* u (+ (* (pow u 2) (+ (* -1/6 (/ (pow normAngle 3) (sin normAngle))) (* 1/120 (/ (* (pow normAngle 5) (pow u 2)) (sin normAngle))))) (/ normAngle (sin normAngle))))
(* u (+ (* (pow u 2) (+ (* -1/6 (/ (pow normAngle 3) (sin normAngle))) (* (pow u 2) (+ (* -1/5040 (/ (* (pow normAngle 7) (pow u 2)) (sin normAngle))) (* 1/120 (/ (pow normAngle 5) (sin normAngle))))))) (/ normAngle (sin normAngle))))
normAngle
(+ normAngle (* -1 (* normAngle u)))
(* -1 (* normAngle u))
(* u (+ (* -1 normAngle) (/ normAngle u)))
(+ (/ (* n0_i (sin (* normAngle (+ 1 (* -1 u))))) (sin normAngle)) (/ (* n1_i (sin (* normAngle u))) (sin normAngle)))
(/ (* n0_i (sin (* normAngle (+ 1 (* -1 u))))) (sin normAngle))
(/ (sin (* normAngle (+ 1 (* -1 u)))) (sin normAngle))
(sin (* normAngle (+ 1 (* -1 u))))
(* -1 (* u (+ normAngle (* -1 (/ normAngle u)))))
(/ (* n1_i (sin (* normAngle u))) (sin normAngle))
(* n0_i (+ (/ (sin (* normAngle (- 1 u))) (sin normAngle)) (/ (* n1_i (sin (* normAngle u))) (* n0_i (sin normAngle)))))
(* -1 (* n0_i (+ (* -1 (/ (sin (* normAngle (- 1 u))) (sin normAngle))) (* -1 (/ (* n1_i (sin (* normAngle u))) (* n0_i (sin normAngle)))))))
(* n1_i (+ (/ (sin (* normAngle u)) (sin normAngle)) (/ (* n0_i (sin (* normAngle (- 1 u)))) (* n1_i (sin normAngle)))))
(* -1 (* n1_i (+ (* -1 (/ (sin (* normAngle u)) (sin normAngle))) (* -1 (/ (* n0_i (sin (* normAngle (- 1 u)))) (* n1_i (sin normAngle)))))))
Calls

12 calls:

TimeVariablePointExpression
6.0ms
u
@inf
((+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) (sin (* (- 1 u) normAngle)) (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (* (- 1 u) normAngle))
6.0ms
u
@-inf
((+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) (sin (* (- 1 u) normAngle)) (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (* (- 1 u) normAngle))
5.0ms
normAngle
@0
((+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) (sin (* (- 1 u) normAngle)) (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (* (- 1 u) normAngle))
4.0ms
normAngle
@-inf
((+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) (sin (* (- 1 u) normAngle)) (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (* (- 1 u) normAngle))
3.0ms
normAngle
@inf
((+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) (sin (* (- 1 u) normAngle)) (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (* (- 1 u) normAngle))

simplify2.0ms (0%)

Memory
2.2MiB live, 2.2MiB allocated
Algorithm
egg-herbie
Counts
58 → 6
Calls
Call 1
Inputs
(+ (* n0_i (- 1 u)) (* n1_i u))
(+ (* n0_i (- 1 u)) (+ (* n1_i u) (* (pow normAngle 2) (- (+ (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n1_i (pow u 3)))) (+ (* -1/6 (* n0_i (- 1 u))) (* -1/6 (* n1_i u)))))))
(+ (* n0_i (- 1 u)) (+ (* n1_i u) (* (pow normAngle 2) (- (+ (* -1/6 (* n0_i (pow (- 1 u) 3))) (+ (* -1/6 (* n1_i (pow u 3))) (* (pow normAngle 2) (- (+ (* 1/120 (* n0_i (pow (- 1 u) 5))) (* 1/120 (* n1_i (pow u 5)))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (+ (* -1/6 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))) (+ (* 1/120 (* n0_i (- 1 u))) (* 1/120 (* n1_i u))))))))) (+ (* -1/6 (* n0_i (- 1 u))) (* -1/6 (* n1_i u)))))))
(+ (* n0_i (- 1 u)) (+ (* n1_i u) (* (pow normAngle 2) (- (+ (* -1/6 (* n0_i (pow (- 1 u) 3))) (+ (* -1/6 (* n1_i (pow u 3))) (* (pow normAngle 2) (- (+ (* 1/120 (* n0_i (pow (- 1 u) 5))) (+ (* 1/120 (* n1_i (pow u 5))) (* (pow normAngle 2) (- (+ (* -1/5040 (* n0_i (pow (- 1 u) 7))) (* -1/5040 (* n1_i (pow u 7)))) (+ (* -1/6 (- (* 1/120 (* n0_i (pow (- 1 u) 5))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (* 1/120 (* n0_i (- 1 u)))))) (+ (* -1/6 (- (* 1/120 (* n1_i (pow u 5))) (+ (* -1/6 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))) (* 1/120 (* n1_i u))))) (+ (* -1/5040 (* n0_i (- 1 u))) (+ (* -1/5040 (* n1_i u)) (+ (* 1/120 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (* 1/120 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u))))))))))))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (+ (* -1/6 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))) (+ (* 1/120 (* n0_i (- 1 u))) (* 1/120 (* n1_i u))))))))) (+ (* -1/6 (* n0_i (- 1 u))) (* -1/6 (* n1_i u)))))))
(* n0_i (- 1 u))
(+ (* n0_i (- 1 u)) (* (pow normAngle 2) (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))))
(+ (* n0_i (- 1 u)) (* (pow normAngle 2) (- (+ (* -1/6 (* n0_i (pow (- 1 u) 3))) (* (pow normAngle 2) (- (* 1/120 (* n0_i (pow (- 1 u) 5))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (* 1/120 (* n0_i (- 1 u))))))) (* -1/6 (* n0_i (- 1 u))))))
(+ (* n0_i (- 1 u)) (* (pow normAngle 2) (- (+ (* -1/6 (* n0_i (pow (- 1 u) 3))) (* (pow normAngle 2) (- (+ (* 1/120 (* n0_i (pow (- 1 u) 5))) (* (pow normAngle 2) (- (* -1/5040 (* n0_i (pow (- 1 u) 7))) (+ (* -1/6 (- (* 1/120 (* n0_i (pow (- 1 u) 5))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (* 1/120 (* n0_i (- 1 u)))))) (+ (* -1/5040 (* n0_i (- 1 u))) (* 1/120 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u)))))))))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (* 1/120 (* n0_i (- 1 u))))))) (* -1/6 (* n0_i (- 1 u))))))
(- 1 u)
(- (+ 1 (* (pow normAngle 2) (- (* -1/6 (pow (- 1 u) 3)) (* -1/6 (- 1 u))))) u)
(- (+ 1 (* (pow normAngle 2) (- (+ (* -1/6 (pow (- 1 u) 3)) (* (pow normAngle 2) (- (* 1/120 (pow (- 1 u) 5)) (+ (* -1/6 (- (* -1/6 (pow (- 1 u) 3)) (* -1/6 (- 1 u)))) (* 1/120 (- 1 u)))))) (* -1/6 (- 1 u))))) u)
(- (+ 1 (* (pow normAngle 2) (- (+ (* -1/6 (pow (- 1 u) 3)) (* (pow normAngle 2) (- (+ (* 1/120 (pow (- 1 u) 5)) (* (pow normAngle 2) (- (* -1/5040 (pow (- 1 u) 7)) (+ (* -1/6 (- (* 1/120 (pow (- 1 u) 5)) (+ (* -1/6 (- (* -1/6 (pow (- 1 u) 3)) (* -1/6 (- 1 u)))) (* 1/120 (- 1 u))))) (+ (* -1/5040 (- 1 u)) (* 1/120 (- (* -1/6 (pow (- 1 u) 3)) (* -1/6 (- 1 u))))))))) (+ (* -1/6 (- (* -1/6 (pow (- 1 u) 3)) (* -1/6 (- 1 u)))) (* 1/120 (- 1 u)))))) (* -1/6 (- 1 u))))) u)
(* normAngle (- 1 u))
(* normAngle (- (+ 1 (* -1/6 (* (pow normAngle 2) (pow (- 1 u) 3)))) u))
(* normAngle (- (+ 1 (* (pow normAngle 2) (+ (* -1/6 (pow (- 1 u) 3)) (* 1/120 (* (pow normAngle 2) (pow (- 1 u) 5)))))) u))
(* normAngle (- (+ 1 (* (pow normAngle 2) (+ (* -1/6 (pow (- 1 u) 3)) (* (pow normAngle 2) (+ (* -1/5040 (* (pow normAngle 2) (pow (- 1 u) 7))) (* 1/120 (pow (- 1 u) 5))))))) u))
u
(+ u (* (pow normAngle 2) (- (* -1/6 (pow u 3)) (* -1/6 u))))
(+ u (* (pow normAngle 2) (- (+ (* -1/6 (pow u 3)) (* (pow normAngle 2) (- (* 1/120 (pow u 5)) (+ (* -1/6 (- (* -1/6 (pow u 3)) (* -1/6 u))) (* 1/120 u))))) (* -1/6 u))))
(+ u (* (pow normAngle 2) (- (+ (* -1/6 (pow u 3)) (* (pow normAngle 2) (- (+ (* 1/120 (pow u 5)) (* (pow normAngle 2) (- (* -1/5040 (pow u 7)) (+ (* -1/6 (- (* 1/120 (pow u 5)) (+ (* -1/6 (- (* -1/6 (pow u 3)) (* -1/6 u))) (* 1/120 u)))) (+ (* -1/5040 u) (* 1/120 (- (* -1/6 (pow u 3)) (* -1/6 u)))))))) (+ (* -1/6 (- (* -1/6 (pow u 3)) (* -1/6 u))) (* 1/120 u))))) (* -1/6 u))))
(+ (/ (* n0_i (sin (* normAngle (- 1 u)))) (sin normAngle)) (/ (* n1_i (sin (* normAngle u))) (sin normAngle)))
(/ (* n0_i (sin (* normAngle (- 1 u)))) (sin normAngle))
(/ (sin (* normAngle (- 1 u))) (sin normAngle))
(sin (* normAngle (- 1 u)))
(/ (sin (* normAngle u)) (sin normAngle))
n0_i
(+ n0_i (* u (+ (* -1 (/ (* n0_i (* normAngle (cos normAngle))) (sin normAngle))) (/ (* n1_i normAngle) (sin normAngle)))))
(+ n0_i (* u (+ (* -1 (/ (* n0_i (* normAngle (cos normAngle))) (sin normAngle))) (+ (* -1/2 (* n0_i (* (pow normAngle 2) u))) (/ (* n1_i normAngle) (sin normAngle))))))
(+ n0_i (* u (+ (* -1 (/ (* n0_i (* normAngle (cos normAngle))) (sin normAngle))) (+ (* u (+ (* -1/2 (* n0_i (pow normAngle 2))) (* u (+ (* -1/6 (/ (* n1_i (pow normAngle 3)) (sin normAngle))) (* 1/6 (/ (* n0_i (* (pow normAngle 3) (cos normAngle))) (sin normAngle))))))) (/ (* n1_i normAngle) (sin normAngle))))))
(+ n0_i (* -1 (/ (* n0_i (* normAngle (* u (cos normAngle)))) (sin normAngle))))
(+ n0_i (* u (+ (* -1 (/ (* n0_i (* normAngle (cos normAngle))) (sin normAngle))) (* -1/2 (* n0_i (* (pow normAngle 2) u))))))
(+ n0_i (* u (+ (* -1 (/ (* n0_i (* normAngle (cos normAngle))) (sin normAngle))) (* u (+ (* -1/2 (* n0_i (pow normAngle 2))) (* 1/6 (/ (* n0_i (* (pow normAngle 3) (* u (cos normAngle)))) (sin normAngle))))))))
1
(+ 1 (* -1 (/ (* normAngle (* u (cos normAngle))) (sin normAngle))))
(+ 1 (* u (+ (* -1 (/ (* normAngle (cos normAngle)) (sin normAngle))) (* -1/2 (* (pow normAngle 2) u)))))
(+ 1 (* u (+ (* -1 (/ (* normAngle (cos normAngle)) (sin normAngle))) (* u (+ (* -1/2 (pow normAngle 2)) (* 1/6 (/ (* (pow normAngle 3) (* u (cos normAngle))) (sin normAngle))))))))
(sin normAngle)
(+ (sin normAngle) (* -1 (* normAngle (* u (cos normAngle)))))
(+ (sin normAngle) (* u (+ (* -1 (* normAngle (cos normAngle))) (* -1/2 (* (pow normAngle 2) (* u (sin normAngle)))))))
(+ (sin normAngle) (* u (+ (* -1 (* normAngle (cos normAngle))) (* u (+ (* -1/2 (* (pow normAngle 2) (sin normAngle))) (* 1/6 (* (pow normAngle 3) (* u (cos normAngle)))))))))
(/ (* normAngle u) (sin normAngle))
(* u (+ (* -1/6 (/ (* (pow normAngle 3) (pow u 2)) (sin normAngle))) (/ normAngle (sin normAngle))))
(* u (+ (* (pow u 2) (+ (* -1/6 (/ (pow normAngle 3) (sin normAngle))) (* 1/120 (/ (* (pow normAngle 5) (pow u 2)) (sin normAngle))))) (/ normAngle (sin normAngle))))
(* u (+ (* (pow u 2) (+ (* -1/6 (/ (pow normAngle 3) (sin normAngle))) (* (pow u 2) (+ (* -1/5040 (/ (* (pow normAngle 7) (pow u 2)) (sin normAngle))) (* 1/120 (/ (pow normAngle 5) (sin normAngle))))))) (/ normAngle (sin normAngle))))
normAngle
(+ normAngle (* -1 (* normAngle u)))
(* -1 (* normAngle u))
(* u (+ (* -1 normAngle) (/ normAngle u)))
(+ (/ (* n0_i (sin (* normAngle (+ 1 (* -1 u))))) (sin normAngle)) (/ (* n1_i (sin (* normAngle u))) (sin normAngle)))
(/ (* n0_i (sin (* normAngle (+ 1 (* -1 u))))) (sin normAngle))
(/ (sin (* normAngle (+ 1 (* -1 u)))) (sin normAngle))
(sin (* normAngle (+ 1 (* -1 u))))
(* -1 (* u (+ normAngle (* -1 (/ normAngle u)))))
(/ (* n1_i (sin (* normAngle u))) (sin normAngle))
(* n0_i (+ (/ (sin (* normAngle (- 1 u))) (sin normAngle)) (/ (* n1_i (sin (* normAngle u))) (* n0_i (sin normAngle)))))
(* -1 (* n0_i (+ (* -1 (/ (sin (* normAngle (- 1 u))) (sin normAngle))) (* -1 (/ (* n1_i (sin (* normAngle u))) (* n0_i (sin normAngle)))))))
(* n1_i (+ (/ (sin (* normAngle u)) (sin normAngle)) (/ (* n0_i (sin (* normAngle (- 1 u)))) (* n1_i (sin normAngle)))))
(* -1 (* n1_i (+ (* -1 (/ (sin (* normAngle u)) (sin normAngle))) (* -1 (/ (* n0_i (sin (* normAngle (- 1 u)))) (* n1_i (sin normAngle)))))))
Outputs
(+ (* n0_i (- 1 u)) (* n1_i u))
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
(+ (* n0_i (- 1 u)) (+ (* n1_i u) (* (pow normAngle 2) (- (+ (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n1_i (pow u 3)))) (+ (* -1/6 (* n0_i (- 1 u))) (* -1/6 (* n1_i u)))))))
(*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i)
(+ (* n0_i (- 1 u)) (+ (* n1_i u) (* (pow normAngle 2) (- (+ (* -1/6 (* n0_i (pow (- 1 u) 3))) (+ (* -1/6 (* n1_i (pow u 3))) (* (pow normAngle 2) (- (+ (* 1/120 (* n0_i (pow (- 1 u) 5))) (* 1/120 (* n1_i (pow u 5)))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (+ (* -1/6 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))) (+ (* 1/120 (* n0_i (- 1 u))) (* 1/120 (* n1_i u))))))))) (+ (* -1/6 (* n0_i (- 1 u))) (* -1/6 (* n1_i u)))))))
(*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))
(+ (* n0_i (- 1 u)) (+ (* n1_i u) (* (pow normAngle 2) (- (+ (* -1/6 (* n0_i (pow (- 1 u) 3))) (+ (* -1/6 (* n1_i (pow u 3))) (* (pow normAngle 2) (- (+ (* 1/120 (* n0_i (pow (- 1 u) 5))) (+ (* 1/120 (* n1_i (pow u 5))) (* (pow normAngle 2) (- (+ (* -1/5040 (* n0_i (pow (- 1 u) 7))) (* -1/5040 (* n1_i (pow u 7)))) (+ (* -1/6 (- (* 1/120 (* n0_i (pow (- 1 u) 5))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (* 1/120 (* n0_i (- 1 u)))))) (+ (* -1/6 (- (* 1/120 (* n1_i (pow u 5))) (+ (* -1/6 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))) (* 1/120 (* n1_i u))))) (+ (* -1/5040 (* n0_i (- 1 u))) (+ (* -1/5040 (* n1_i u)) (+ (* 1/120 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (* 1/120 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u))))))))))))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (+ (* -1/6 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))) (+ (* 1/120 (* n0_i (- 1 u))) (* 1/120 (* n1_i u))))))))) (+ (* -1/6 (* n0_i (- 1 u))) (* -1/6 (* n1_i u)))))))
(sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))
(* n0_i (- 1 u))
(*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))
(+ (* n0_i (- 1 u)) (* (pow normAngle 2) (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))))
(*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)

rewrite0.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated
Counts
6 → 6
Calls
Call 1
Inputs
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
(*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i)
(*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))
(sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))
(*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))
(*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)
Outputs
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
(*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i)
(*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))
(sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))
(*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))
(*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)

eval1.0ms (0%)

Memory
1.7MiB live, 1.7MiB allocated
Compiler

Compiled 375 to 38 computations (89.9% saved)

prune4.0ms (0.1%)

Memory
6.5MiB live, 6.5MiB allocated
Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New7512
Fresh000
Picked011
Done000
Total7613
Accuracy
97.0%
Counts
13 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
96.9%
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
24.4%
(+.f32 #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
9.3%
(+.f32 #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
57.2%
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i))
8.1%
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))))
10.1%
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))
Compiler

Compiled 373 to 251 computations (32.7% saved)

simplify4.0ms (0.1%)

Memory
-34.6MiB live, 2.7MiB allocated
Algorithm
egg-herbie
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
cost-diff0
(sin.f32 (*.f32 u normAngle))
cost-diff0
(*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))
cost-diff0
#s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))))
cost-diff0
(+.f32 #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
cost-diff0
(-.f32 #s(literal 1 binary32) u)
cost-diff0
(*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)
cost-diff0
#s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))
cost-diff0
(+.f32 #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
cost-diff0
(*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)
cost-diff0
(sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))
cost-diff0
(*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))
cost-diff0
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))))
cost-diff0
(-.f32 #s(literal 1 binary32) u)
cost-diff0
(*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)
cost-diff0
(sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))
cost-diff0
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))
cost-diff0
(sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))
cost-diff0
(*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))
cost-diff0
(*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i)
cost-diff0
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i))
Calls
Call 1
Inputs
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i))
(*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i)
(*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))
(sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))
(*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)
(-.f32 #s(literal 1 binary32) u)
#s(literal 1 binary32)
u
normAngle
(/.f32 #s(literal 1 binary32) (sin.f32 normAngle))
(sin.f32 normAngle)
n0_i
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))
(sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))
(*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)
(-.f32 #s(literal 1 binary32) u)
#s(literal 1 binary32)
u
normAngle
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))))
(*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))
(sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))
(*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)
(-.f32 #s(literal 1 binary32) u)
#s(literal 1 binary32)
u
normAngle
(/.f32 #s(literal 1 binary32) (sin.f32 normAngle))
(sin.f32 normAngle)
(+.f32 #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
#s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))
(*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)
(-.f32 #s(literal 1 binary32) u)
#s(literal 1 binary32)
u
normAngle
(*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i)
(*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))
(sin.f32 (*.f32 u normAngle))
(*.f32 u normAngle)
(/.f32 #s(literal 1 binary32) (sin.f32 normAngle))
(sin.f32 normAngle)
n1_i
(+.f32 #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
#s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))))
(*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))
(sin.f32 (*.f32 u normAngle))
(*.f32 u normAngle)
u
normAngle
(/.f32 #s(literal 1 binary32) (sin.f32 normAngle))
#s(literal 1 binary32)
(sin.f32 normAngle)
(*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i)
n1_i
Outputs
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i))
(*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i)
(*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))
(sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))
(*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)
(-.f32 #s(literal 1 binary32) u)
#s(literal 1 binary32)
u
normAngle
(/.f32 #s(literal 1 binary32) (sin.f32 normAngle))
(sin.f32 normAngle)
n0_i
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))
(sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))
(*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)
(-.f32 #s(literal 1 binary32) u)
#s(literal 1 binary32)
u
normAngle
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))))
(*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))
(sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))
(*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)
(-.f32 #s(literal 1 binary32) u)
#s(literal 1 binary32)
u
normAngle
(/.f32 #s(literal 1 binary32) (sin.f32 normAngle))
(sin.f32 normAngle)
(+.f32 #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
#s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))
(*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)
(-.f32 #s(literal 1 binary32) u)
#s(literal 1 binary32)
u
normAngle
(*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i)
(*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))
(sin.f32 (*.f32 u normAngle))
(*.f32 u normAngle)
(/.f32 #s(literal 1 binary32) (sin.f32 normAngle))
(sin.f32 normAngle)
n1_i
(+.f32 #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
#s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))))
(*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))
(sin.f32 (*.f32 u normAngle))
(*.f32 u normAngle)
u
normAngle
(/.f32 #s(literal 1 binary32) (sin.f32 normAngle))
#s(literal 1 binary32)
(sin.f32 normAngle)
(*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i)
n1_i

localize62.0ms (1.5%)

Memory
10.2MiB live, 88.7MiB allocated
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
accuracy0.03515625
(*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i)
accuracy0.09212875976844202
(+.f32 #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
accuracy1.6360663614257547
(*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))
accuracy29.195075942533844
#s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))))
accuracy0.09212875976844202
(+.f32 #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
accuracy0.13671875
(*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)
accuracy1.6360663614257547
(*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))
accuracy28.777850348308103
#s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))
accuracy0.03125
(sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))
accuracy0.13671875
(*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)
accuracy0.5280075272154254
(*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))
accuracy29.414938731453805
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))))
accuracy0.0
(-.f32 #s(literal 1 binary32) u)
accuracy0.03125
(sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))
accuracy0.13671875
(*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)
accuracy28.783290204986027
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))
accuracy0.13671875
(*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)
accuracy0.22265625
(*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i)
accuracy0.5280075272154254
(*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))
accuracy13.51258210281157
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i))
Samples
37.0ms250×0valid
2.0ms1valid
Compiler

Compiled 731 to 55 computations (92.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 20.0ms
ival-mult: 9.0ms (45.4% of total)
ival-sin: 6.0ms (30.3% of total)
ival-div: 2.0ms (10.1% of total)
ival-add: 1.0ms (5% of total)
ival-sub: 1.0ms (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)

series25.0ms (0.6%)

Memory
-0.3MiB live, 37.4MiB allocated
Counts
15 → 78
Calls
Call 1
Inputs
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i))
(*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i)
(*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))
(sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))
(*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)
(-.f32 #s(literal 1 binary32) u)
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))))
(+.f32 #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
#s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))
(+.f32 #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
#s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))))
(*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))
(sin.f32 (*.f32 u normAngle))
(*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i)
Outputs
(+ (* n0_i (- 1 u)) (* n1_i u))
(+ (* n0_i (- 1 u)) (+ (* n1_i u) (* (pow normAngle 2) (- (+ (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n1_i (pow u 3)))) (+ (* -1/6 (* n0_i (- 1 u))) (* -1/6 (* n1_i u)))))))
(+ (* n0_i (- 1 u)) (+ (* n1_i u) (* (pow normAngle 2) (- (+ (* -1/6 (* n0_i (pow (- 1 u) 3))) (+ (* -1/6 (* n1_i (pow u 3))) (* (pow normAngle 2) (- (+ (* 1/120 (* n0_i (pow (- 1 u) 5))) (* 1/120 (* n1_i (pow u 5)))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (+ (* -1/6 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))) (+ (* 1/120 (* n0_i (- 1 u))) (* 1/120 (* n1_i u))))))))) (+ (* -1/6 (* n0_i (- 1 u))) (* -1/6 (* n1_i u)))))))
(+ (* n0_i (- 1 u)) (+ (* n1_i u) (* (pow normAngle 2) (- (+ (* -1/6 (* n0_i (pow (- 1 u) 3))) (+ (* -1/6 (* n1_i (pow u 3))) (* (pow normAngle 2) (- (+ (* 1/120 (* n0_i (pow (- 1 u) 5))) (+ (* 1/120 (* n1_i (pow u 5))) (* (pow normAngle 2) (- (+ (* -1/5040 (* n0_i (pow (- 1 u) 7))) (* -1/5040 (* n1_i (pow u 7)))) (+ (* -1/6 (- (* 1/120 (* n0_i (pow (- 1 u) 5))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (* 1/120 (* n0_i (- 1 u)))))) (+ (* -1/6 (- (* 1/120 (* n1_i (pow u 5))) (+ (* -1/6 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))) (* 1/120 (* n1_i u))))) (+ (* -1/5040 (* n0_i (- 1 u))) (+ (* -1/5040 (* n1_i u)) (+ (* 1/120 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (* 1/120 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u))))))))))))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (+ (* -1/6 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))) (+ (* 1/120 (* n0_i (- 1 u))) (* 1/120 (* n1_i u))))))))) (+ (* -1/6 (* n0_i (- 1 u))) (* -1/6 (* n1_i u)))))))
(* n0_i (- 1 u))
(+ (* n0_i (- 1 u)) (* (pow normAngle 2) (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))))
(+ (* n0_i (- 1 u)) (* (pow normAngle 2) (- (+ (* -1/6 (* n0_i (pow (- 1 u) 3))) (* (pow normAngle 2) (- (* 1/120 (* n0_i (pow (- 1 u) 5))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (* 1/120 (* n0_i (- 1 u))))))) (* -1/6 (* n0_i (- 1 u))))))
(+ (* n0_i (- 1 u)) (* (pow normAngle 2) (- (+ (* -1/6 (* n0_i (pow (- 1 u) 3))) (* (pow normAngle 2) (- (+ (* 1/120 (* n0_i (pow (- 1 u) 5))) (* (pow normAngle 2) (- (* -1/5040 (* n0_i (pow (- 1 u) 7))) (+ (* -1/6 (- (* 1/120 (* n0_i (pow (- 1 u) 5))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (* 1/120 (* n0_i (- 1 u)))))) (+ (* -1/5040 (* n0_i (- 1 u))) (* 1/120 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u)))))))))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (* 1/120 (* n0_i (- 1 u))))))) (* -1/6 (* n0_i (- 1 u))))))
(- 1 u)
(- (+ 1 (* (pow normAngle 2) (- (* -1/6 (pow (- 1 u) 3)) (* -1/6 (- 1 u))))) u)
(- (+ 1 (* (pow normAngle 2) (- (+ (* -1/6 (pow (- 1 u) 3)) (* (pow normAngle 2) (- (* 1/120 (pow (- 1 u) 5)) (+ (* -1/6 (- (* -1/6 (pow (- 1 u) 3)) (* -1/6 (- 1 u)))) (* 1/120 (- 1 u)))))) (* -1/6 (- 1 u))))) u)
(- (+ 1 (* (pow normAngle 2) (- (+ (* -1/6 (pow (- 1 u) 3)) (* (pow normAngle 2) (- (+ (* 1/120 (pow (- 1 u) 5)) (* (pow normAngle 2) (- (* -1/5040 (pow (- 1 u) 7)) (+ (* -1/6 (- (* 1/120 (pow (- 1 u) 5)) (+ (* -1/6 (- (* -1/6 (pow (- 1 u) 3)) (* -1/6 (- 1 u)))) (* 1/120 (- 1 u))))) (+ (* -1/5040 (- 1 u)) (* 1/120 (- (* -1/6 (pow (- 1 u) 3)) (* -1/6 (- 1 u))))))))) (+ (* -1/6 (- (* -1/6 (pow (- 1 u) 3)) (* -1/6 (- 1 u)))) (* 1/120 (- 1 u)))))) (* -1/6 (- 1 u))))) u)
(* normAngle (- 1 u))
(* normAngle (- (+ 1 (* -1/6 (* (pow normAngle 2) (pow (- 1 u) 3)))) u))
(* normAngle (- (+ 1 (* (pow normAngle 2) (+ (* -1/6 (pow (- 1 u) 3)) (* 1/120 (* (pow normAngle 2) (pow (- 1 u) 5)))))) u))
(* normAngle (- (+ 1 (* (pow normAngle 2) (+ (* -1/6 (pow (- 1 u) 3)) (* (pow normAngle 2) (+ (* -1/5040 (* (pow normAngle 2) (pow (- 1 u) 7))) (* 1/120 (pow (- 1 u) 5))))))) u))
u
(+ u (* (pow normAngle 2) (- (* -1/6 (pow u 3)) (* -1/6 u))))
(+ u (* (pow normAngle 2) (- (+ (* -1/6 (pow u 3)) (* (pow normAngle 2) (- (* 1/120 (pow u 5)) (+ (* -1/6 (- (* -1/6 (pow u 3)) (* -1/6 u))) (* 1/120 u))))) (* -1/6 u))))
(+ u (* (pow normAngle 2) (- (+ (* -1/6 (pow u 3)) (* (pow normAngle 2) (- (+ (* 1/120 (pow u 5)) (* (pow normAngle 2) (- (* -1/5040 (pow u 7)) (+ (* -1/6 (- (* 1/120 (pow u 5)) (+ (* -1/6 (- (* -1/6 (pow u 3)) (* -1/6 u))) (* 1/120 u)))) (+ (* -1/5040 u) (* 1/120 (- (* -1/6 (pow u 3)) (* -1/6 u)))))))) (+ (* -1/6 (- (* -1/6 (pow u 3)) (* -1/6 u))) (* 1/120 u))))) (* -1/6 u))))
(* normAngle u)
(* normAngle (+ u (* -1/6 (* (pow normAngle 2) (pow u 3)))))
(* normAngle (+ u (* (pow normAngle 2) (+ (* -1/6 (pow u 3)) (* 1/120 (* (pow normAngle 2) (pow u 5)))))))
(* normAngle (+ u (* (pow normAngle 2) (+ (* -1/6 (pow u 3)) (* (pow normAngle 2) (+ (* -1/5040 (* (pow normAngle 2) (pow u 7))) (* 1/120 (pow u 5))))))))
(* n1_i u)
(+ (* n1_i u) (* (pow normAngle 2) (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))))
(+ (* n1_i u) (* (pow normAngle 2) (- (+ (* -1/6 (* n1_i (pow u 3))) (* (pow normAngle 2) (- (* 1/120 (* n1_i (pow u 5))) (+ (* -1/6 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))) (* 1/120 (* n1_i u)))))) (* -1/6 (* n1_i u)))))
(+ (* n1_i u) (* (pow normAngle 2) (- (+ (* -1/6 (* n1_i (pow u 3))) (* (pow normAngle 2) (- (+ (* 1/120 (* n1_i (pow u 5))) (* (pow normAngle 2) (- (* -1/5040 (* n1_i (pow u 7))) (+ (* -1/6 (- (* 1/120 (* n1_i (pow u 5))) (+ (* -1/6 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))) (* 1/120 (* n1_i u))))) (+ (* -1/5040 (* n1_i u)) (* 1/120 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u))))))))) (+ (* -1/6 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))) (* 1/120 (* n1_i u)))))) (* -1/6 (* n1_i u)))))
(+ (/ (* n0_i (sin (* normAngle (- 1 u)))) (sin normAngle)) (/ (* n1_i (sin (* normAngle u))) (sin normAngle)))
(/ (* n0_i (sin (* normAngle (- 1 u)))) (sin normAngle))
(/ (sin (* normAngle (- 1 u))) (sin normAngle))
(sin (* normAngle (- 1 u)))
(/ (sin (* normAngle u)) (sin normAngle))
(sin (* normAngle u))
(/ (* n1_i (sin (* normAngle u))) (sin normAngle))
n0_i
(+ n0_i (* u (+ (* -1 (/ (* n0_i (* normAngle (cos normAngle))) (sin normAngle))) (/ (* n1_i normAngle) (sin normAngle)))))
(+ n0_i (* u (+ (* -1 (/ (* n0_i (* normAngle (cos normAngle))) (sin normAngle))) (+ (* -1/2 (* n0_i (* (pow normAngle 2) u))) (/ (* n1_i normAngle) (sin normAngle))))))
(+ n0_i (* u (+ (* -1 (/ (* n0_i (* normAngle (cos normAngle))) (sin normAngle))) (+ (* u (+ (* -1/2 (* n0_i (pow normAngle 2))) (* u (+ (* -1/6 (/ (* n1_i (pow normAngle 3)) (sin normAngle))) (* 1/6 (/ (* n0_i (* (pow normAngle 3) (cos normAngle))) (sin normAngle))))))) (/ (* n1_i normAngle) (sin normAngle))))))
(+ n0_i (* -1 (/ (* n0_i (* normAngle (* u (cos normAngle)))) (sin normAngle))))
(+ n0_i (* u (+ (* -1 (/ (* n0_i (* normAngle (cos normAngle))) (sin normAngle))) (* -1/2 (* n0_i (* (pow normAngle 2) u))))))
(+ n0_i (* u (+ (* -1 (/ (* n0_i (* normAngle (cos normAngle))) (sin normAngle))) (* u (+ (* -1/2 (* n0_i (pow normAngle 2))) (* 1/6 (/ (* n0_i (* (pow normAngle 3) (* u (cos normAngle)))) (sin normAngle))))))))
1
(+ 1 (* -1 (/ (* normAngle (* u (cos normAngle))) (sin normAngle))))
(+ 1 (* u (+ (* -1 (/ (* normAngle (cos normAngle)) (sin normAngle))) (* -1/2 (* (pow normAngle 2) u)))))
(+ 1 (* u (+ (* -1 (/ (* normAngle (cos normAngle)) (sin normAngle))) (* u (+ (* -1/2 (pow normAngle 2)) (* 1/6 (/ (* (pow normAngle 3) (* u (cos normAngle))) (sin normAngle))))))))
(sin normAngle)
(+ (sin normAngle) (* -1 (* normAngle (* u (cos normAngle)))))
(+ (sin normAngle) (* u (+ (* -1 (* normAngle (cos normAngle))) (* -1/2 (* (pow normAngle 2) (* u (sin normAngle)))))))
(+ (sin normAngle) (* u (+ (* -1 (* normAngle (cos normAngle))) (* u (+ (* -1/2 (* (pow normAngle 2) (sin normAngle))) (* 1/6 (* (pow normAngle 3) (* u (cos normAngle)))))))))
normAngle
(+ normAngle (* -1 (* normAngle u)))
(+ 1 (* -1 u))
(/ (* normAngle u) (sin normAngle))
(* u (+ (* -1/6 (/ (* (pow normAngle 3) (pow u 2)) (sin normAngle))) (/ normAngle (sin normAngle))))
(* u (+ (* (pow u 2) (+ (* -1/6 (/ (pow normAngle 3) (sin normAngle))) (* 1/120 (/ (* (pow normAngle 5) (pow u 2)) (sin normAngle))))) (/ normAngle (sin normAngle))))
(* u (+ (* (pow u 2) (+ (* -1/6 (/ (pow normAngle 3) (sin normAngle))) (* (pow u 2) (+ (* -1/5040 (/ (* (pow normAngle 7) (pow u 2)) (sin normAngle))) (* 1/120 (/ (pow normAngle 5) (sin normAngle))))))) (/ normAngle (sin normAngle))))
(* u (+ normAngle (* -1/6 (* (pow normAngle 3) (pow u 2)))))
(* u (+ normAngle (* (pow u 2) (+ (* -1/6 (pow normAngle 3)) (* 1/120 (* (pow normAngle 5) (pow u 2)))))))
(* u (+ normAngle (* (pow u 2) (+ (* -1/6 (pow normAngle 3)) (* (pow u 2) (+ (* -1/5040 (* (pow normAngle 7) (pow u 2))) (* 1/120 (pow normAngle 5))))))))
(/ (* n1_i (* normAngle u)) (sin normAngle))
(* u (+ (* -1/6 (/ (* n1_i (* (pow normAngle 3) (pow u 2))) (sin normAngle))) (/ (* n1_i normAngle) (sin normAngle))))
(* u (+ (* (pow u 2) (+ (* -1/6 (/ (* n1_i (pow normAngle 3)) (sin normAngle))) (* 1/120 (/ (* n1_i (* (pow normAngle 5) (pow u 2))) (sin normAngle))))) (/ (* n1_i normAngle) (sin normAngle))))
(* u (+ (* (pow u 2) (+ (* -1/6 (/ (* n1_i (pow normAngle 3)) (sin normAngle))) (* (pow u 2) (+ (* -1/5040 (/ (* n1_i (* (pow normAngle 7) (pow u 2))) (sin normAngle))) (* 1/120 (/ (* n1_i (pow normAngle 5)) (sin normAngle))))))) (/ (* n1_i normAngle) (sin normAngle))))
(* -1 (* normAngle u))
(* u (+ (* -1 normAngle) (/ normAngle u)))
(* -1 u)
(* u (- (/ 1 u) 1))
(+ (/ (* n0_i (sin (* normAngle (+ 1 (* -1 u))))) (sin normAngle)) (/ (* n1_i (sin (* normAngle u))) (sin normAngle)))
(/ (* n0_i (sin (* normAngle (+ 1 (* -1 u))))) (sin normAngle))
(/ (sin (* normAngle (+ 1 (* -1 u)))) (sin normAngle))
(sin (* normAngle (+ 1 (* -1 u))))
(* -1 (* u (+ normAngle (* -1 (/ normAngle u)))))
(* -1 (* u (- 1 (/ 1 u))))
(* n0_i (+ (/ (sin (* normAngle (- 1 u))) (sin normAngle)) (/ (* n1_i (sin (* normAngle u))) (* n0_i (sin normAngle)))))
(* -1 (* n0_i (+ (* -1 (/ (sin (* normAngle (- 1 u))) (sin normAngle))) (* -1 (/ (* n1_i (sin (* normAngle u))) (* n0_i (sin normAngle)))))))
(* n1_i (+ (/ (sin (* normAngle u)) (sin normAngle)) (/ (* n0_i (sin (* normAngle (- 1 u)))) (* n1_i (sin normAngle)))))
(* -1 (* n1_i (+ (* -1 (/ (sin (* normAngle u)) (sin normAngle))) (* -1 (/ (* n0_i (sin (* normAngle (- 1 u)))) (* n1_i (sin normAngle)))))))
Calls

12 calls:

TimeVariablePointExpression
4.0ms
n1_i
@inf
((+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) (sin (* (- 1 u) normAngle)) (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (* (- 1 u) normAngle) (- 1 u) (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (sin (* u normAngle)) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i))
2.0ms
normAngle
@0
((+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) (sin (* (- 1 u) normAngle)) (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (* (- 1 u) normAngle) (- 1 u) (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (sin (* u normAngle)) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i))
2.0ms
n1_i
@0
((+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) (sin (* (- 1 u) normAngle)) (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (* (- 1 u) normAngle) (- 1 u) (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (sin (* u normAngle)) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i))
2.0ms
u
@inf
((+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) (sin (* (- 1 u) normAngle)) (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (* (- 1 u) normAngle) (- 1 u) (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (sin (* u normAngle)) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i))
2.0ms
u
@-inf
((+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) (sin (* (- 1 u) normAngle)) (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (* (- 1 u) normAngle) (- 1 u) (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (sin (* u normAngle)) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i))

simplify2.0ms (0%)

Memory
6.3MiB live, 6.3MiB allocated
Algorithm
egg-herbie
Counts
78 → 15
Calls
Call 1
Inputs
(+ (* n0_i (- 1 u)) (* n1_i u))
(+ (* n0_i (- 1 u)) (+ (* n1_i u) (* (pow normAngle 2) (- (+ (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n1_i (pow u 3)))) (+ (* -1/6 (* n0_i (- 1 u))) (* -1/6 (* n1_i u)))))))
(+ (* n0_i (- 1 u)) (+ (* n1_i u) (* (pow normAngle 2) (- (+ (* -1/6 (* n0_i (pow (- 1 u) 3))) (+ (* -1/6 (* n1_i (pow u 3))) (* (pow normAngle 2) (- (+ (* 1/120 (* n0_i (pow (- 1 u) 5))) (* 1/120 (* n1_i (pow u 5)))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (+ (* -1/6 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))) (+ (* 1/120 (* n0_i (- 1 u))) (* 1/120 (* n1_i u))))))))) (+ (* -1/6 (* n0_i (- 1 u))) (* -1/6 (* n1_i u)))))))
(+ (* n0_i (- 1 u)) (+ (* n1_i u) (* (pow normAngle 2) (- (+ (* -1/6 (* n0_i (pow (- 1 u) 3))) (+ (* -1/6 (* n1_i (pow u 3))) (* (pow normAngle 2) (- (+ (* 1/120 (* n0_i (pow (- 1 u) 5))) (+ (* 1/120 (* n1_i (pow u 5))) (* (pow normAngle 2) (- (+ (* -1/5040 (* n0_i (pow (- 1 u) 7))) (* -1/5040 (* n1_i (pow u 7)))) (+ (* -1/6 (- (* 1/120 (* n0_i (pow (- 1 u) 5))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (* 1/120 (* n0_i (- 1 u)))))) (+ (* -1/6 (- (* 1/120 (* n1_i (pow u 5))) (+ (* -1/6 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))) (* 1/120 (* n1_i u))))) (+ (* -1/5040 (* n0_i (- 1 u))) (+ (* -1/5040 (* n1_i u)) (+ (* 1/120 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (* 1/120 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u))))))))))))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (+ (* -1/6 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))) (+ (* 1/120 (* n0_i (- 1 u))) (* 1/120 (* n1_i u))))))))) (+ (* -1/6 (* n0_i (- 1 u))) (* -1/6 (* n1_i u)))))))
(* n0_i (- 1 u))
(+ (* n0_i (- 1 u)) (* (pow normAngle 2) (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))))
(+ (* n0_i (- 1 u)) (* (pow normAngle 2) (- (+ (* -1/6 (* n0_i (pow (- 1 u) 3))) (* (pow normAngle 2) (- (* 1/120 (* n0_i (pow (- 1 u) 5))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (* 1/120 (* n0_i (- 1 u))))))) (* -1/6 (* n0_i (- 1 u))))))
(+ (* n0_i (- 1 u)) (* (pow normAngle 2) (- (+ (* -1/6 (* n0_i (pow (- 1 u) 3))) (* (pow normAngle 2) (- (+ (* 1/120 (* n0_i (pow (- 1 u) 5))) (* (pow normAngle 2) (- (* -1/5040 (* n0_i (pow (- 1 u) 7))) (+ (* -1/6 (- (* 1/120 (* n0_i (pow (- 1 u) 5))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (* 1/120 (* n0_i (- 1 u)))))) (+ (* -1/5040 (* n0_i (- 1 u))) (* 1/120 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u)))))))))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (* 1/120 (* n0_i (- 1 u))))))) (* -1/6 (* n0_i (- 1 u))))))
(- 1 u)
(- (+ 1 (* (pow normAngle 2) (- (* -1/6 (pow (- 1 u) 3)) (* -1/6 (- 1 u))))) u)
(- (+ 1 (* (pow normAngle 2) (- (+ (* -1/6 (pow (- 1 u) 3)) (* (pow normAngle 2) (- (* 1/120 (pow (- 1 u) 5)) (+ (* -1/6 (- (* -1/6 (pow (- 1 u) 3)) (* -1/6 (- 1 u)))) (* 1/120 (- 1 u)))))) (* -1/6 (- 1 u))))) u)
(- (+ 1 (* (pow normAngle 2) (- (+ (* -1/6 (pow (- 1 u) 3)) (* (pow normAngle 2) (- (+ (* 1/120 (pow (- 1 u) 5)) (* (pow normAngle 2) (- (* -1/5040 (pow (- 1 u) 7)) (+ (* -1/6 (- (* 1/120 (pow (- 1 u) 5)) (+ (* -1/6 (- (* -1/6 (pow (- 1 u) 3)) (* -1/6 (- 1 u)))) (* 1/120 (- 1 u))))) (+ (* -1/5040 (- 1 u)) (* 1/120 (- (* -1/6 (pow (- 1 u) 3)) (* -1/6 (- 1 u))))))))) (+ (* -1/6 (- (* -1/6 (pow (- 1 u) 3)) (* -1/6 (- 1 u)))) (* 1/120 (- 1 u)))))) (* -1/6 (- 1 u))))) u)
(* normAngle (- 1 u))
(* normAngle (- (+ 1 (* -1/6 (* (pow normAngle 2) (pow (- 1 u) 3)))) u))
(* normAngle (- (+ 1 (* (pow normAngle 2) (+ (* -1/6 (pow (- 1 u) 3)) (* 1/120 (* (pow normAngle 2) (pow (- 1 u) 5)))))) u))
(* normAngle (- (+ 1 (* (pow normAngle 2) (+ (* -1/6 (pow (- 1 u) 3)) (* (pow normAngle 2) (+ (* -1/5040 (* (pow normAngle 2) (pow (- 1 u) 7))) (* 1/120 (pow (- 1 u) 5))))))) u))
u
(+ u (* (pow normAngle 2) (- (* -1/6 (pow u 3)) (* -1/6 u))))
(+ u (* (pow normAngle 2) (- (+ (* -1/6 (pow u 3)) (* (pow normAngle 2) (- (* 1/120 (pow u 5)) (+ (* -1/6 (- (* -1/6 (pow u 3)) (* -1/6 u))) (* 1/120 u))))) (* -1/6 u))))
(+ u (* (pow normAngle 2) (- (+ (* -1/6 (pow u 3)) (* (pow normAngle 2) (- (+ (* 1/120 (pow u 5)) (* (pow normAngle 2) (- (* -1/5040 (pow u 7)) (+ (* -1/6 (- (* 1/120 (pow u 5)) (+ (* -1/6 (- (* -1/6 (pow u 3)) (* -1/6 u))) (* 1/120 u)))) (+ (* -1/5040 u) (* 1/120 (- (* -1/6 (pow u 3)) (* -1/6 u)))))))) (+ (* -1/6 (- (* -1/6 (pow u 3)) (* -1/6 u))) (* 1/120 u))))) (* -1/6 u))))
(* normAngle u)
(* normAngle (+ u (* -1/6 (* (pow normAngle 2) (pow u 3)))))
(* normAngle (+ u (* (pow normAngle 2) (+ (* -1/6 (pow u 3)) (* 1/120 (* (pow normAngle 2) (pow u 5)))))))
(* normAngle (+ u (* (pow normAngle 2) (+ (* -1/6 (pow u 3)) (* (pow normAngle 2) (+ (* -1/5040 (* (pow normAngle 2) (pow u 7))) (* 1/120 (pow u 5))))))))
(* n1_i u)
(+ (* n1_i u) (* (pow normAngle 2) (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))))
(+ (* n1_i u) (* (pow normAngle 2) (- (+ (* -1/6 (* n1_i (pow u 3))) (* (pow normAngle 2) (- (* 1/120 (* n1_i (pow u 5))) (+ (* -1/6 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))) (* 1/120 (* n1_i u)))))) (* -1/6 (* n1_i u)))))
(+ (* n1_i u) (* (pow normAngle 2) (- (+ (* -1/6 (* n1_i (pow u 3))) (* (pow normAngle 2) (- (+ (* 1/120 (* n1_i (pow u 5))) (* (pow normAngle 2) (- (* -1/5040 (* n1_i (pow u 7))) (+ (* -1/6 (- (* 1/120 (* n1_i (pow u 5))) (+ (* -1/6 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))) (* 1/120 (* n1_i u))))) (+ (* -1/5040 (* n1_i u)) (* 1/120 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u))))))))) (+ (* -1/6 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))) (* 1/120 (* n1_i u)))))) (* -1/6 (* n1_i u)))))
(+ (/ (* n0_i (sin (* normAngle (- 1 u)))) (sin normAngle)) (/ (* n1_i (sin (* normAngle u))) (sin normAngle)))
(/ (* n0_i (sin (* normAngle (- 1 u)))) (sin normAngle))
(/ (sin (* normAngle (- 1 u))) (sin normAngle))
(sin (* normAngle (- 1 u)))
(/ (sin (* normAngle u)) (sin normAngle))
(sin (* normAngle u))
(/ (* n1_i (sin (* normAngle u))) (sin normAngle))
n0_i
(+ n0_i (* u (+ (* -1 (/ (* n0_i (* normAngle (cos normAngle))) (sin normAngle))) (/ (* n1_i normAngle) (sin normAngle)))))
(+ n0_i (* u (+ (* -1 (/ (* n0_i (* normAngle (cos normAngle))) (sin normAngle))) (+ (* -1/2 (* n0_i (* (pow normAngle 2) u))) (/ (* n1_i normAngle) (sin normAngle))))))
(+ n0_i (* u (+ (* -1 (/ (* n0_i (* normAngle (cos normAngle))) (sin normAngle))) (+ (* u (+ (* -1/2 (* n0_i (pow normAngle 2))) (* u (+ (* -1/6 (/ (* n1_i (pow normAngle 3)) (sin normAngle))) (* 1/6 (/ (* n0_i (* (pow normAngle 3) (cos normAngle))) (sin normAngle))))))) (/ (* n1_i normAngle) (sin normAngle))))))
(+ n0_i (* -1 (/ (* n0_i (* normAngle (* u (cos normAngle)))) (sin normAngle))))
(+ n0_i (* u (+ (* -1 (/ (* n0_i (* normAngle (cos normAngle))) (sin normAngle))) (* -1/2 (* n0_i (* (pow normAngle 2) u))))))
(+ n0_i (* u (+ (* -1 (/ (* n0_i (* normAngle (cos normAngle))) (sin normAngle))) (* u (+ (* -1/2 (* n0_i (pow normAngle 2))) (* 1/6 (/ (* n0_i (* (pow normAngle 3) (* u (cos normAngle)))) (sin normAngle))))))))
1
(+ 1 (* -1 (/ (* normAngle (* u (cos normAngle))) (sin normAngle))))
(+ 1 (* u (+ (* -1 (/ (* normAngle (cos normAngle)) (sin normAngle))) (* -1/2 (* (pow normAngle 2) u)))))
(+ 1 (* u (+ (* -1 (/ (* normAngle (cos normAngle)) (sin normAngle))) (* u (+ (* -1/2 (pow normAngle 2)) (* 1/6 (/ (* (pow normAngle 3) (* u (cos normAngle))) (sin normAngle))))))))
(sin normAngle)
(+ (sin normAngle) (* -1 (* normAngle (* u (cos normAngle)))))
(+ (sin normAngle) (* u (+ (* -1 (* normAngle (cos normAngle))) (* -1/2 (* (pow normAngle 2) (* u (sin normAngle)))))))
(+ (sin normAngle) (* u (+ (* -1 (* normAngle (cos normAngle))) (* u (+ (* -1/2 (* (pow normAngle 2) (sin normAngle))) (* 1/6 (* (pow normAngle 3) (* u (cos normAngle)))))))))
normAngle
(+ normAngle (* -1 (* normAngle u)))
(+ 1 (* -1 u))
(/ (* normAngle u) (sin normAngle))
(* u (+ (* -1/6 (/ (* (pow normAngle 3) (pow u 2)) (sin normAngle))) (/ normAngle (sin normAngle))))
(* u (+ (* (pow u 2) (+ (* -1/6 (/ (pow normAngle 3) (sin normAngle))) (* 1/120 (/ (* (pow normAngle 5) (pow u 2)) (sin normAngle))))) (/ normAngle (sin normAngle))))
(* u (+ (* (pow u 2) (+ (* -1/6 (/ (pow normAngle 3) (sin normAngle))) (* (pow u 2) (+ (* -1/5040 (/ (* (pow normAngle 7) (pow u 2)) (sin normAngle))) (* 1/120 (/ (pow normAngle 5) (sin normAngle))))))) (/ normAngle (sin normAngle))))
(* u (+ normAngle (* -1/6 (* (pow normAngle 3) (pow u 2)))))
(* u (+ normAngle (* (pow u 2) (+ (* -1/6 (pow normAngle 3)) (* 1/120 (* (pow normAngle 5) (pow u 2)))))))
(* u (+ normAngle (* (pow u 2) (+ (* -1/6 (pow normAngle 3)) (* (pow u 2) (+ (* -1/5040 (* (pow normAngle 7) (pow u 2))) (* 1/120 (pow normAngle 5))))))))
(/ (* n1_i (* normAngle u)) (sin normAngle))
(* u (+ (* -1/6 (/ (* n1_i (* (pow normAngle 3) (pow u 2))) (sin normAngle))) (/ (* n1_i normAngle) (sin normAngle))))
(* u (+ (* (pow u 2) (+ (* -1/6 (/ (* n1_i (pow normAngle 3)) (sin normAngle))) (* 1/120 (/ (* n1_i (* (pow normAngle 5) (pow u 2))) (sin normAngle))))) (/ (* n1_i normAngle) (sin normAngle))))
(* u (+ (* (pow u 2) (+ (* -1/6 (/ (* n1_i (pow normAngle 3)) (sin normAngle))) (* (pow u 2) (+ (* -1/5040 (/ (* n1_i (* (pow normAngle 7) (pow u 2))) (sin normAngle))) (* 1/120 (/ (* n1_i (pow normAngle 5)) (sin normAngle))))))) (/ (* n1_i normAngle) (sin normAngle))))
(* -1 (* normAngle u))
(* u (+ (* -1 normAngle) (/ normAngle u)))
(* -1 u)
(* u (- (/ 1 u) 1))
(+ (/ (* n0_i (sin (* normAngle (+ 1 (* -1 u))))) (sin normAngle)) (/ (* n1_i (sin (* normAngle u))) (sin normAngle)))
(/ (* n0_i (sin (* normAngle (+ 1 (* -1 u))))) (sin normAngle))
(/ (sin (* normAngle (+ 1 (* -1 u)))) (sin normAngle))
(sin (* normAngle (+ 1 (* -1 u))))
(* -1 (* u (+ normAngle (* -1 (/ normAngle u)))))
(* -1 (* u (- 1 (/ 1 u))))
(* n0_i (+ (/ (sin (* normAngle (- 1 u))) (sin normAngle)) (/ (* n1_i (sin (* normAngle u))) (* n0_i (sin normAngle)))))
(* -1 (* n0_i (+ (* -1 (/ (sin (* normAngle (- 1 u))) (sin normAngle))) (* -1 (/ (* n1_i (sin (* normAngle u))) (* n0_i (sin normAngle)))))))
(* n1_i (+ (/ (sin (* normAngle u)) (sin normAngle)) (/ (* n0_i (sin (* normAngle (- 1 u)))) (* n1_i (sin normAngle)))))
(* -1 (* n1_i (+ (* -1 (/ (sin (* normAngle u)) (sin normAngle))) (* -1 (/ (* n0_i (sin (* normAngle (- 1 u)))) (* n1_i (sin normAngle)))))))
Outputs
(+ (* n0_i (- 1 u)) (* n1_i u))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i))
(+ (* n0_i (- 1 u)) (+ (* n1_i u) (* (pow normAngle 2) (- (+ (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n1_i (pow u 3)))) (+ (* -1/6 (* n0_i (- 1 u))) (* -1/6 (* n1_i u)))))))
(*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i)
(+ (* n0_i (- 1 u)) (+ (* n1_i u) (* (pow normAngle 2) (- (+ (* -1/6 (* n0_i (pow (- 1 u) 3))) (+ (* -1/6 (* n1_i (pow u 3))) (* (pow normAngle 2) (- (+ (* 1/120 (* n0_i (pow (- 1 u) 5))) (* 1/120 (* n1_i (pow u 5)))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (+ (* -1/6 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))) (+ (* 1/120 (* n0_i (- 1 u))) (* 1/120 (* n1_i u))))))))) (+ (* -1/6 (* n0_i (- 1 u))) (* -1/6 (* n1_i u)))))))
(*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))
(+ (* n0_i (- 1 u)) (+ (* n1_i u) (* (pow normAngle 2) (- (+ (* -1/6 (* n0_i (pow (- 1 u) 3))) (+ (* -1/6 (* n1_i (pow u 3))) (* (pow normAngle 2) (- (+ (* 1/120 (* n0_i (pow (- 1 u) 5))) (+ (* 1/120 (* n1_i (pow u 5))) (* (pow normAngle 2) (- (+ (* -1/5040 (* n0_i (pow (- 1 u) 7))) (* -1/5040 (* n1_i (pow u 7)))) (+ (* -1/6 (- (* 1/120 (* n0_i (pow (- 1 u) 5))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (* 1/120 (* n0_i (- 1 u)))))) (+ (* -1/6 (- (* 1/120 (* n1_i (pow u 5))) (+ (* -1/6 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))) (* 1/120 (* n1_i u))))) (+ (* -1/5040 (* n0_i (- 1 u))) (+ (* -1/5040 (* n1_i u)) (+ (* 1/120 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (* 1/120 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u))))))))))))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (+ (* -1/6 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))) (+ (* 1/120 (* n0_i (- 1 u))) (* 1/120 (* n1_i u))))))))) (+ (* -1/6 (* n0_i (- 1 u))) (* -1/6 (* n1_i u)))))))
(sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))
(* n0_i (- 1 u))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))
(+ (* n0_i (- 1 u)) (* (pow normAngle 2) (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))))
(*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)
(+ (* n0_i (- 1 u)) (* (pow normAngle 2) (- (+ (* -1/6 (* n0_i (pow (- 1 u) 3))) (* (pow normAngle 2) (- (* 1/120 (* n0_i (pow (- 1 u) 5))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (* 1/120 (* n0_i (- 1 u))))))) (* -1/6 (* n0_i (- 1 u))))))
(-.f32 #s(literal 1 binary32) u)
(+ (* n0_i (- 1 u)) (* (pow normAngle 2) (- (+ (* -1/6 (* n0_i (pow (- 1 u) 3))) (* (pow normAngle 2) (- (+ (* 1/120 (* n0_i (pow (- 1 u) 5))) (* (pow normAngle 2) (- (* -1/5040 (* n0_i (pow (- 1 u) 7))) (+ (* -1/6 (- (* 1/120 (* n0_i (pow (- 1 u) 5))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (* 1/120 (* n0_i (- 1 u)))))) (+ (* -1/5040 (* n0_i (- 1 u))) (* 1/120 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u)))))))))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (* 1/120 (* n0_i (- 1 u))))))) (* -1/6 (* n0_i (- 1 u))))))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))))
(- 1 u)
(+.f32 #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
(- (+ 1 (* (pow normAngle 2) (- (* -1/6 (pow (- 1 u) 3)) (* -1/6 (- 1 u))))) u)
#s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))
(- (+ 1 (* (pow normAngle 2) (- (+ (* -1/6 (pow (- 1 u) 3)) (* (pow normAngle 2) (- (* 1/120 (pow (- 1 u) 5)) (+ (* -1/6 (- (* -1/6 (pow (- 1 u) 3)) (* -1/6 (- 1 u)))) (* 1/120 (- 1 u)))))) (* -1/6 (- 1 u))))) u)
(+.f32 #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
(- (+ 1 (* (pow normAngle 2) (- (+ (* -1/6 (pow (- 1 u) 3)) (* (pow normAngle 2) (- (+ (* 1/120 (pow (- 1 u) 5)) (* (pow normAngle 2) (- (* -1/5040 (pow (- 1 u) 7)) (+ (* -1/6 (- (* 1/120 (pow (- 1 u) 5)) (+ (* -1/6 (- (* -1/6 (pow (- 1 u) 3)) (* -1/6 (- 1 u)))) (* 1/120 (- 1 u))))) (+ (* -1/5040 (- 1 u)) (* 1/120 (- (* -1/6 (pow (- 1 u) 3)) (* -1/6 (- 1 u))))))))) (+ (* -1/6 (- (* -1/6 (pow (- 1 u) 3)) (* -1/6 (- 1 u)))) (* 1/120 (- 1 u)))))) (* -1/6 (- 1 u))))) u)
#s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))))
(* normAngle (- 1 u))
(*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))
(* normAngle (- (+ 1 (* -1/6 (* (pow normAngle 2) (pow (- 1 u) 3)))) u))
(sin.f32 (*.f32 u normAngle))
(* normAngle (- (+ 1 (* (pow normAngle 2) (+ (* -1/6 (pow (- 1 u) 3)) (* 1/120 (* (pow normAngle 2) (pow (- 1 u) 5)))))) u))
(*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i)

rewrite1.0ms (0%)

Memory
2.2MiB live, 2.2MiB allocated
Counts
15 → 15
Calls
Call 1
Inputs
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i))
(*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i)
(*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))
(sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))
(*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)
(-.f32 #s(literal 1 binary32) u)
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))))
(+.f32 #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
#s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))
(+.f32 #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
#s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))))
(*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))
(sin.f32 (*.f32 u normAngle))
(*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i)
Outputs
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i))
(*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i)
(*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))
(sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))
(*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)
(-.f32 #s(literal 1 binary32) u)
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))))
(+.f32 #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
#s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))
(+.f32 #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
#s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))))
(*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))
(sin.f32 (*.f32 u normAngle))
(*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i)

eval3.0ms (0.1%)

Memory
6.7MiB live, 6.7MiB allocated
Compiler

Compiled 2 213 to 78 computations (96.5% saved)

prune11.0ms (0.3%)

Memory
-18.6MiB live, 19.7MiB allocated
Pruning

12 alts after pruning (7 fresh and 5 done)

PrunedKeptTotal
New43750
Fresh000
Picked145
Done011
Total441256
Accuracy
97.0%
Counts
56 → 12
Alt Table
Click to see full alt table
StatusAccuracyProgram
96.9%
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
24.4%
(+.f32 #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
57.2%
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i))
14.1%
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 (*.f32 #s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle))) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i))
8.1%
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))))
11.1%
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 #s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))) n0_i))
9.3%
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 #s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle))) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))))
10.1%
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))
8.1%
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (-.f32 #s(literal 1 binary32) u)))
10.1%
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))
38.4%
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i)))
10.3%
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle))))
Compiler

Compiled 792 to 443 computations (44.1% saved)

simplify1.0ms (0%)

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

Found 19 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f32 u normAngle)
cost-diff0
(sin.f32 (*.f32 u normAngle))
cost-diff0
#s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle)))
cost-diff0
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle))))
cost-diff0
#s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))
cost-diff0
#s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))
cost-diff0
(*.f32 #s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))) n0_i)
cost-diff0
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 #s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))) n0_i))
cost-diff0
(-.f32 #s(literal 1 binary32) u)
cost-diff0
(*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)
cost-diff0
#s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))
cost-diff0
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))
cost-diff0
(-.f32 #s(literal 1 binary32) u)
cost-diff0
#s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (-.f32 #s(literal 1 binary32) u))
cost-diff0
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (-.f32 #s(literal 1 binary32) u)))
cost-diff0
(*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))
cost-diff0
(*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i)
cost-diff0
#s(approx (sin (* (- 1 u) normAngle)) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
cost-diff0
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i)))
Calls
Call 1
Inputs
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i)))
#s(approx (sin (* (- 1 u) normAngle)) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
(*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i)
(*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))
(sin.f32 (*.f32 u normAngle))
(*.f32 u normAngle)
u
normAngle
(/.f32 #s(literal 1 binary32) (sin.f32 normAngle))
#s(literal 1 binary32)
(sin.f32 normAngle)
n1_i
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (-.f32 #s(literal 1 binary32) u)))
#s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (-.f32 #s(literal 1 binary32) u))
(-.f32 #s(literal 1 binary32) u)
#s(literal 1 binary32)
u
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))
#s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))
(*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)
(-.f32 #s(literal 1 binary32) u)
#s(literal 1 binary32)
u
normAngle
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 #s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))) n0_i))
(*.f32 #s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))) n0_i)
#s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))
#s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))
(*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)
(-.f32 #s(literal 1 binary32) u)
#s(literal 1 binary32)
u
normAngle
n0_i
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle))))
#s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle)))
(sin.f32 (*.f32 u normAngle))
(*.f32 u normAngle)
u
normAngle
Outputs
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i)))
#s(approx (sin (* (- 1 u) normAngle)) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
(*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i)
(*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))
(sin.f32 (*.f32 u normAngle))
(*.f32 u normAngle)
u
normAngle
(/.f32 #s(literal 1 binary32) (sin.f32 normAngle))
#s(literal 1 binary32)
(sin.f32 normAngle)
n1_i
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (-.f32 #s(literal 1 binary32) u)))
#s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (-.f32 #s(literal 1 binary32) u))
(-.f32 #s(literal 1 binary32) u)
#s(literal 1 binary32)
u
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))
#s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))
(*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)
(-.f32 #s(literal 1 binary32) u)
#s(literal 1 binary32)
u
normAngle
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 #s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))) n0_i))
(*.f32 #s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))) n0_i)
#s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))
#s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))
(*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)
(-.f32 #s(literal 1 binary32) u)
#s(literal 1 binary32)
u
normAngle
n0_i
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle))))
#s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle)))
(sin.f32 (*.f32 u normAngle))
(*.f32 u normAngle)
u
normAngle

localize56.0ms (1.3%)

Memory
-3.2MiB live, 78.4MiB allocated
Localize:

Found 19 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f32 u normAngle)
accuracy0.0
(sin.f32 (*.f32 u normAngle))
accuracy26.31760451023022
#s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle)))
accuracy28.783290204986027
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle))))
accuracy0.22265625
(*.f32 #s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))) n0_i)
accuracy13.51258210281157
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 #s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))) n0_i))
accuracy28.777850348308103
#s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))
accuracy29.53638341695203
#s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))
accuracy0.0
(-.f32 #s(literal 1 binary32) u)
accuracy0.13671875
(*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)
accuracy13.51258210281157
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))
accuracy28.777850348308103
#s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))
accuracy0.0
(-.f32 #s(literal 1 binary32) u)
accuracy13.51258210281157
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (-.f32 #s(literal 1 binary32) u)))
accuracy29.53637956810118
#s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (-.f32 #s(literal 1 binary32) u))
accuracy0.03515625
(*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i)
accuracy1.6360663614257547
(*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))
accuracy28.75556586041143
#s(approx (sin (* (- 1 u) normAngle)) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
accuracy28.783290204986027
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i)))
Samples
33.0ms250×0valid
2.0ms1valid
Compiler

Compiled 726 to 56 computations (92.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 20.0ms
ival-mult: 9.0ms (45.5% of total)
ival-sin: 6.0ms (30.3% of total)
ival-div: 2.0ms (10.1% of total)
ival-add: 1.0ms (5.1% of total)
ival-sub: 1.0ms (5.1% 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)

series25.0ms (0.6%)

Memory
5.3MiB live, 43.1MiB allocated
Counts
17 → 78
Calls
Call 1
Inputs
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i)))
#s(approx (sin (* (- 1 u) normAngle)) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
(*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i)
(*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (-.f32 #s(literal 1 binary32) u)))
#s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (-.f32 #s(literal 1 binary32) u))
(-.f32 #s(literal 1 binary32) u)
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))
#s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))
(*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 #s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))) n0_i))
(*.f32 #s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))) n0_i)
#s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle))))
#s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle)))
(sin.f32 (*.f32 u normAngle))
(*.f32 u normAngle)
Outputs
(+ (* n0_i (- 1 u)) (* n1_i u))
(+ (* n0_i (- 1 u)) (+ (* n1_i u) (* (pow normAngle 2) (- (+ (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n1_i (pow u 3)))) (+ (* -1/6 (* n0_i (- 1 u))) (* -1/6 (* n1_i u)))))))
(+ (* n0_i (- 1 u)) (+ (* n1_i u) (* (pow normAngle 2) (- (+ (* -1/6 (* n0_i (pow (- 1 u) 3))) (+ (* -1/6 (* n1_i (pow u 3))) (* (pow normAngle 2) (- (+ (* 1/120 (* n0_i (pow (- 1 u) 5))) (* 1/120 (* n1_i (pow u 5)))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (+ (* -1/6 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))) (+ (* 1/120 (* n0_i (- 1 u))) (* 1/120 (* n1_i u))))))))) (+ (* -1/6 (* n0_i (- 1 u))) (* -1/6 (* n1_i u)))))))
(+ (* n0_i (- 1 u)) (+ (* n1_i u) (* (pow normAngle 2) (- (+ (* -1/6 (* n0_i (pow (- 1 u) 3))) (+ (* -1/6 (* n1_i (pow u 3))) (* (pow normAngle 2) (- (+ (* 1/120 (* n0_i (pow (- 1 u) 5))) (+ (* 1/120 (* n1_i (pow u 5))) (* (pow normAngle 2) (- (+ (* -1/5040 (* n0_i (pow (- 1 u) 7))) (* -1/5040 (* n1_i (pow u 7)))) (+ (* -1/6 (- (* 1/120 (* n0_i (pow (- 1 u) 5))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (* 1/120 (* n0_i (- 1 u)))))) (+ (* -1/6 (- (* 1/120 (* n1_i (pow u 5))) (+ (* -1/6 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))) (* 1/120 (* n1_i u))))) (+ (* -1/5040 (* n0_i (- 1 u))) (+ (* -1/5040 (* n1_i u)) (+ (* 1/120 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (* 1/120 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u))))))))))))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (+ (* -1/6 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))) (+ (* 1/120 (* n0_i (- 1 u))) (* 1/120 (* n1_i u))))))))) (+ (* -1/6 (* n0_i (- 1 u))) (* -1/6 (* n1_i u)))))))
(* normAngle (- 1 u))
(* normAngle (- (+ 1 (* -1/6 (* (pow normAngle 2) (pow (- 1 u) 3)))) u))
(* normAngle (- (+ 1 (* (pow normAngle 2) (+ (* -1/6 (pow (- 1 u) 3)) (* 1/120 (* (pow normAngle 2) (pow (- 1 u) 5)))))) u))
(* normAngle (- (+ 1 (* (pow normAngle 2) (+ (* -1/6 (pow (- 1 u) 3)) (* (pow normAngle 2) (+ (* -1/5040 (* (pow normAngle 2) (pow (- 1 u) 7))) (* 1/120 (pow (- 1 u) 5))))))) u))
(* n1_i u)
(+ (* n1_i u) (* (pow normAngle 2) (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))))
(+ (* n1_i u) (* (pow normAngle 2) (- (+ (* -1/6 (* n1_i (pow u 3))) (* (pow normAngle 2) (- (* 1/120 (* n1_i (pow u 5))) (+ (* -1/6 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))) (* 1/120 (* n1_i u)))))) (* -1/6 (* n1_i u)))))
(+ (* n1_i u) (* (pow normAngle 2) (- (+ (* -1/6 (* n1_i (pow u 3))) (* (pow normAngle 2) (- (+ (* 1/120 (* n1_i (pow u 5))) (* (pow normAngle 2) (- (* -1/5040 (* n1_i (pow u 7))) (+ (* -1/6 (- (* 1/120 (* n1_i (pow u 5))) (+ (* -1/6 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))) (* 1/120 (* n1_i u))))) (+ (* -1/5040 (* n1_i u)) (* 1/120 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u))))))))) (+ (* -1/6 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))) (* 1/120 (* n1_i u)))))) (* -1/6 (* n1_i u)))))
u
(+ u (* (pow normAngle 2) (- (* -1/6 (pow u 3)) (* -1/6 u))))
(+ u (* (pow normAngle 2) (- (+ (* -1/6 (pow u 3)) (* (pow normAngle 2) (- (* 1/120 (pow u 5)) (+ (* -1/6 (- (* -1/6 (pow u 3)) (* -1/6 u))) (* 1/120 u))))) (* -1/6 u))))
(+ u (* (pow normAngle 2) (- (+ (* -1/6 (pow u 3)) (* (pow normAngle 2) (- (+ (* 1/120 (pow u 5)) (* (pow normAngle 2) (- (* -1/5040 (pow u 7)) (+ (* -1/6 (- (* 1/120 (pow u 5)) (+ (* -1/6 (- (* -1/6 (pow u 3)) (* -1/6 u))) (* 1/120 u)))) (+ (* -1/5040 u) (* 1/120 (- (* -1/6 (pow u 3)) (* -1/6 u)))))))) (+ (* -1/6 (- (* -1/6 (pow u 3)) (* -1/6 u))) (* 1/120 u))))) (* -1/6 u))))
(* n0_i (- 1 u))
(+ (* n0_i (- 1 u)) (* (pow normAngle 2) (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))))
(+ (* n0_i (- 1 u)) (* (pow normAngle 2) (- (+ (* -1/6 (* n0_i (pow (- 1 u) 3))) (* (pow normAngle 2) (- (* 1/120 (* n0_i (pow (- 1 u) 5))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (* 1/120 (* n0_i (- 1 u))))))) (* -1/6 (* n0_i (- 1 u))))))
(+ (* n0_i (- 1 u)) (* (pow normAngle 2) (- (+ (* -1/6 (* n0_i (pow (- 1 u) 3))) (* (pow normAngle 2) (- (+ (* 1/120 (* n0_i (pow (- 1 u) 5))) (* (pow normAngle 2) (- (* -1/5040 (* n0_i (pow (- 1 u) 7))) (+ (* -1/6 (- (* 1/120 (* n0_i (pow (- 1 u) 5))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (* 1/120 (* n0_i (- 1 u)))))) (+ (* -1/5040 (* n0_i (- 1 u))) (* 1/120 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u)))))))))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (* 1/120 (* n0_i (- 1 u))))))) (* -1/6 (* n0_i (- 1 u))))))
(- 1 u)
(- (+ 1 (* (pow normAngle 2) (- (* -1/6 (pow (- 1 u) 3)) (* -1/6 (- 1 u))))) u)
(- (+ 1 (* (pow normAngle 2) (- (+ (* -1/6 (pow (- 1 u) 3)) (* (pow normAngle 2) (- (* 1/120 (pow (- 1 u) 5)) (+ (* -1/6 (- (* -1/6 (pow (- 1 u) 3)) (* -1/6 (- 1 u)))) (* 1/120 (- 1 u)))))) (* -1/6 (- 1 u))))) u)
(- (+ 1 (* (pow normAngle 2) (- (+ (* -1/6 (pow (- 1 u) 3)) (* (pow normAngle 2) (- (+ (* 1/120 (pow (- 1 u) 5)) (* (pow normAngle 2) (- (* -1/5040 (pow (- 1 u) 7)) (+ (* -1/6 (- (* 1/120 (pow (- 1 u) 5)) (+ (* -1/6 (- (* -1/6 (pow (- 1 u) 3)) (* -1/6 (- 1 u)))) (* 1/120 (- 1 u))))) (+ (* -1/5040 (- 1 u)) (* 1/120 (- (* -1/6 (pow (- 1 u) 3)) (* -1/6 (- 1 u))))))))) (+ (* -1/6 (- (* -1/6 (pow (- 1 u) 3)) (* -1/6 (- 1 u)))) (* 1/120 (- 1 u)))))) (* -1/6 (- 1 u))))) u)
(* normAngle u)
(* normAngle (+ u (* -1/6 (* (pow normAngle 2) (pow u 3)))))
(* normAngle (+ u (* (pow normAngle 2) (+ (* -1/6 (pow u 3)) (* 1/120 (* (pow normAngle 2) (pow u 5)))))))
(* normAngle (+ u (* (pow normAngle 2) (+ (* -1/6 (pow u 3)) (* (pow normAngle 2) (+ (* -1/5040 (* (pow normAngle 2) (pow u 7))) (* 1/120 (pow u 5))))))))
(+ (/ (* n0_i (sin (* normAngle (- 1 u)))) (sin normAngle)) (/ (* n1_i (sin (* normAngle u))) (sin normAngle)))
(sin (* normAngle (- 1 u)))
(/ (* n1_i (sin (* normAngle u))) (sin normAngle))
(/ (sin (* normAngle u)) (sin normAngle))
(/ (* n0_i (sin (* normAngle (- 1 u)))) (sin normAngle))
(/ (sin (* normAngle (- 1 u))) (sin normAngle))
(sin (* normAngle u))
n0_i
(+ n0_i (* u (+ (* -1 (/ (* n0_i (* normAngle (cos normAngle))) (sin normAngle))) (/ (* n1_i normAngle) (sin normAngle)))))
(+ n0_i (* u (+ (* -1 (/ (* n0_i (* normAngle (cos normAngle))) (sin normAngle))) (+ (* -1/2 (* n0_i (* (pow normAngle 2) u))) (/ (* n1_i normAngle) (sin normAngle))))))
(+ n0_i (* u (+ (* -1 (/ (* n0_i (* normAngle (cos normAngle))) (sin normAngle))) (+ (* u (+ (* -1/2 (* n0_i (pow normAngle 2))) (* u (+ (* -1/6 (/ (* n1_i (pow normAngle 3)) (sin normAngle))) (* 1/6 (/ (* n0_i (* (pow normAngle 3) (cos normAngle))) (sin normAngle))))))) (/ (* n1_i normAngle) (sin normAngle))))))
(sin normAngle)
(+ (sin normAngle) (* -1 (* normAngle (* u (cos normAngle)))))
(+ (sin normAngle) (* u (+ (* -1 (* normAngle (cos normAngle))) (* -1/2 (* (pow normAngle 2) (* u (sin normAngle)))))))
(+ (sin normAngle) (* u (+ (* -1 (* normAngle (cos normAngle))) (* u (+ (* -1/2 (* (pow normAngle 2) (sin normAngle))) (* 1/6 (* (pow normAngle 3) (* u (cos normAngle)))))))))
(/ (* n1_i (* normAngle u)) (sin normAngle))
(* u (+ (* -1/6 (/ (* n1_i (* (pow normAngle 3) (pow u 2))) (sin normAngle))) (/ (* n1_i normAngle) (sin normAngle))))
(* u (+ (* (pow u 2) (+ (* -1/6 (/ (* n1_i (pow normAngle 3)) (sin normAngle))) (* 1/120 (/ (* n1_i (* (pow normAngle 5) (pow u 2))) (sin normAngle))))) (/ (* n1_i normAngle) (sin normAngle))))
(* u (+ (* (pow u 2) (+ (* -1/6 (/ (* n1_i (pow normAngle 3)) (sin normAngle))) (* (pow u 2) (+ (* -1/5040 (/ (* n1_i (* (pow normAngle 7) (pow u 2))) (sin normAngle))) (* 1/120 (/ (* n1_i (pow normAngle 5)) (sin normAngle))))))) (/ (* n1_i normAngle) (sin normAngle))))
(/ (* normAngle u) (sin normAngle))
(* u (+ (* -1/6 (/ (* (pow normAngle 3) (pow u 2)) (sin normAngle))) (/ normAngle (sin normAngle))))
(* u (+ (* (pow u 2) (+ (* -1/6 (/ (pow normAngle 3) (sin normAngle))) (* 1/120 (/ (* (pow normAngle 5) (pow u 2)) (sin normAngle))))) (/ normAngle (sin normAngle))))
(* u (+ (* (pow u 2) (+ (* -1/6 (/ (pow normAngle 3) (sin normAngle))) (* (pow u 2) (+ (* -1/5040 (/ (* (pow normAngle 7) (pow u 2)) (sin normAngle))) (* 1/120 (/ (pow normAngle 5) (sin normAngle))))))) (/ normAngle (sin normAngle))))
(+ n0_i (* -1 (/ (* n0_i (* normAngle (* u (cos normAngle)))) (sin normAngle))))
(+ n0_i (* u (+ (* -1 (/ (* n0_i (* normAngle (cos normAngle))) (sin normAngle))) (* -1/2 (* n0_i (* (pow normAngle 2) u))))))
(+ n0_i (* u (+ (* -1 (/ (* n0_i (* normAngle (cos normAngle))) (sin normAngle))) (* u (+ (* -1/2 (* n0_i (pow normAngle 2))) (* 1/6 (/ (* n0_i (* (pow normAngle 3) (* u (cos normAngle)))) (sin normAngle))))))))
1
(+ 1 (* -1 u))
normAngle
(+ normAngle (* -1 (* normAngle u)))
(+ 1 (* -1 (/ (* normAngle (* u (cos normAngle))) (sin normAngle))))
(+ 1 (* u (+ (* -1 (/ (* normAngle (cos normAngle)) (sin normAngle))) (* -1/2 (* (pow normAngle 2) u)))))
(+ 1 (* u (+ (* -1 (/ (* normAngle (cos normAngle)) (sin normAngle))) (* u (+ (* -1/2 (pow normAngle 2)) (* 1/6 (/ (* (pow normAngle 3) (* u (cos normAngle))) (sin normAngle))))))))
(* u (+ normAngle (* -1/6 (* (pow normAngle 3) (pow u 2)))))
(* u (+ normAngle (* (pow u 2) (+ (* -1/6 (pow normAngle 3)) (* 1/120 (* (pow normAngle 5) (pow u 2)))))))
(* u (+ normAngle (* (pow u 2) (+ (* -1/6 (pow normAngle 3)) (* (pow u 2) (+ (* -1/5040 (* (pow normAngle 7) (pow u 2))) (* 1/120 (pow normAngle 5))))))))
(* -1 u)
(* u (- (/ 1 u) 1))
(* -1 (* normAngle u))
(* u (+ (* -1 normAngle) (/ normAngle u)))
(+ (/ (* n0_i (sin (* normAngle (+ 1 (* -1 u))))) (sin normAngle)) (/ (* n1_i (sin (* normAngle u))) (sin normAngle)))
(sin (* normAngle (+ 1 (* -1 u))))
(/ (* n0_i (sin (* normAngle (+ 1 (* -1 u))))) (sin normAngle))
(* -1 (* u (- 1 (/ 1 u))))
(* -1 (* u (+ normAngle (* -1 (/ normAngle u)))))
(/ (sin (* normAngle (+ 1 (* -1 u)))) (sin normAngle))
(* n0_i (+ (/ (sin (* normAngle (- 1 u))) (sin normAngle)) (/ (* n1_i (sin (* normAngle u))) (* n0_i (sin normAngle)))))
(* -1 (* n0_i (+ (* -1 (/ (sin (* normAngle (- 1 u))) (sin normAngle))) (* -1 (/ (* n1_i (sin (* normAngle u))) (* n0_i (sin normAngle)))))))
(* n1_i (+ (/ (sin (* normAngle u)) (sin normAngle)) (/ (* n0_i (sin (* normAngle (- 1 u)))) (* n1_i (sin normAngle)))))
(* -1 (* n1_i (+ (* -1 (/ (sin (* normAngle u)) (sin normAngle))) (* -1 (/ (* n0_i (sin (* normAngle (- 1 u)))) (* n1_i (sin normAngle)))))))
Calls

12 calls:

TimeVariablePointExpression
4.0ms
n1_i
@inf
((+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (sin (* (- 1 u) normAngle)) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i) (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (- 1 u) (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (- 1 u) normAngle) (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (sin (* (- 1 u) normAngle)) (sin (* u normAngle)) (* u normAngle))
2.0ms
u
@-inf
((+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (sin (* (- 1 u) normAngle)) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i) (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (- 1 u) (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (- 1 u) normAngle) (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (sin (* (- 1 u) normAngle)) (sin (* u normAngle)) (* u normAngle))
2.0ms
u
@inf
((+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (sin (* (- 1 u) normAngle)) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i) (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (- 1 u) (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (- 1 u) normAngle) (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (sin (* (- 1 u) normAngle)) (sin (* u normAngle)) (* u normAngle))
2.0ms
normAngle
@0
((+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (sin (* (- 1 u) normAngle)) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i) (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (- 1 u) (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (- 1 u) normAngle) (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (sin (* (- 1 u) normAngle)) (sin (* u normAngle)) (* u normAngle))
2.0ms
normAngle
@-inf
((+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (sin (* (- 1 u) normAngle)) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i) (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (- 1 u) (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (- 1 u) normAngle) (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (sin (* (- 1 u) normAngle)) (sin (* u normAngle)) (* u normAngle))

simplify2.0ms (0%)

Memory
3.6MiB live, 3.6MiB allocated
Algorithm
egg-herbie
Counts
78 → 17
Calls
Call 1
Inputs
(+ (* n0_i (- 1 u)) (* n1_i u))
(+ (* n0_i (- 1 u)) (+ (* n1_i u) (* (pow normAngle 2) (- (+ (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n1_i (pow u 3)))) (+ (* -1/6 (* n0_i (- 1 u))) (* -1/6 (* n1_i u)))))))
(+ (* n0_i (- 1 u)) (+ (* n1_i u) (* (pow normAngle 2) (- (+ (* -1/6 (* n0_i (pow (- 1 u) 3))) (+ (* -1/6 (* n1_i (pow u 3))) (* (pow normAngle 2) (- (+ (* 1/120 (* n0_i (pow (- 1 u) 5))) (* 1/120 (* n1_i (pow u 5)))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (+ (* -1/6 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))) (+ (* 1/120 (* n0_i (- 1 u))) (* 1/120 (* n1_i u))))))))) (+ (* -1/6 (* n0_i (- 1 u))) (* -1/6 (* n1_i u)))))))
(+ (* n0_i (- 1 u)) (+ (* n1_i u) (* (pow normAngle 2) (- (+ (* -1/6 (* n0_i (pow (- 1 u) 3))) (+ (* -1/6 (* n1_i (pow u 3))) (* (pow normAngle 2) (- (+ (* 1/120 (* n0_i (pow (- 1 u) 5))) (+ (* 1/120 (* n1_i (pow u 5))) (* (pow normAngle 2) (- (+ (* -1/5040 (* n0_i (pow (- 1 u) 7))) (* -1/5040 (* n1_i (pow u 7)))) (+ (* -1/6 (- (* 1/120 (* n0_i (pow (- 1 u) 5))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (* 1/120 (* n0_i (- 1 u)))))) (+ (* -1/6 (- (* 1/120 (* n1_i (pow u 5))) (+ (* -1/6 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))) (* 1/120 (* n1_i u))))) (+ (* -1/5040 (* n0_i (- 1 u))) (+ (* -1/5040 (* n1_i u)) (+ (* 1/120 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (* 1/120 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u))))))))))))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (+ (* -1/6 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))) (+ (* 1/120 (* n0_i (- 1 u))) (* 1/120 (* n1_i u))))))))) (+ (* -1/6 (* n0_i (- 1 u))) (* -1/6 (* n1_i u)))))))
(* normAngle (- 1 u))
(* normAngle (- (+ 1 (* -1/6 (* (pow normAngle 2) (pow (- 1 u) 3)))) u))
(* normAngle (- (+ 1 (* (pow normAngle 2) (+ (* -1/6 (pow (- 1 u) 3)) (* 1/120 (* (pow normAngle 2) (pow (- 1 u) 5)))))) u))
(* normAngle (- (+ 1 (* (pow normAngle 2) (+ (* -1/6 (pow (- 1 u) 3)) (* (pow normAngle 2) (+ (* -1/5040 (* (pow normAngle 2) (pow (- 1 u) 7))) (* 1/120 (pow (- 1 u) 5))))))) u))
(* n1_i u)
(+ (* n1_i u) (* (pow normAngle 2) (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))))
(+ (* n1_i u) (* (pow normAngle 2) (- (+ (* -1/6 (* n1_i (pow u 3))) (* (pow normAngle 2) (- (* 1/120 (* n1_i (pow u 5))) (+ (* -1/6 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))) (* 1/120 (* n1_i u)))))) (* -1/6 (* n1_i u)))))
(+ (* n1_i u) (* (pow normAngle 2) (- (+ (* -1/6 (* n1_i (pow u 3))) (* (pow normAngle 2) (- (+ (* 1/120 (* n1_i (pow u 5))) (* (pow normAngle 2) (- (* -1/5040 (* n1_i (pow u 7))) (+ (* -1/6 (- (* 1/120 (* n1_i (pow u 5))) (+ (* -1/6 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))) (* 1/120 (* n1_i u))))) (+ (* -1/5040 (* n1_i u)) (* 1/120 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u))))))))) (+ (* -1/6 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))) (* 1/120 (* n1_i u)))))) (* -1/6 (* n1_i u)))))
u
(+ u (* (pow normAngle 2) (- (* -1/6 (pow u 3)) (* -1/6 u))))
(+ u (* (pow normAngle 2) (- (+ (* -1/6 (pow u 3)) (* (pow normAngle 2) (- (* 1/120 (pow u 5)) (+ (* -1/6 (- (* -1/6 (pow u 3)) (* -1/6 u))) (* 1/120 u))))) (* -1/6 u))))
(+ u (* (pow normAngle 2) (- (+ (* -1/6 (pow u 3)) (* (pow normAngle 2) (- (+ (* 1/120 (pow u 5)) (* (pow normAngle 2) (- (* -1/5040 (pow u 7)) (+ (* -1/6 (- (* 1/120 (pow u 5)) (+ (* -1/6 (- (* -1/6 (pow u 3)) (* -1/6 u))) (* 1/120 u)))) (+ (* -1/5040 u) (* 1/120 (- (* -1/6 (pow u 3)) (* -1/6 u)))))))) (+ (* -1/6 (- (* -1/6 (pow u 3)) (* -1/6 u))) (* 1/120 u))))) (* -1/6 u))))
(* n0_i (- 1 u))
(+ (* n0_i (- 1 u)) (* (pow normAngle 2) (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))))
(+ (* n0_i (- 1 u)) (* (pow normAngle 2) (- (+ (* -1/6 (* n0_i (pow (- 1 u) 3))) (* (pow normAngle 2) (- (* 1/120 (* n0_i (pow (- 1 u) 5))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (* 1/120 (* n0_i (- 1 u))))))) (* -1/6 (* n0_i (- 1 u))))))
(+ (* n0_i (- 1 u)) (* (pow normAngle 2) (- (+ (* -1/6 (* n0_i (pow (- 1 u) 3))) (* (pow normAngle 2) (- (+ (* 1/120 (* n0_i (pow (- 1 u) 5))) (* (pow normAngle 2) (- (* -1/5040 (* n0_i (pow (- 1 u) 7))) (+ (* -1/6 (- (* 1/120 (* n0_i (pow (- 1 u) 5))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (* 1/120 (* n0_i (- 1 u)))))) (+ (* -1/5040 (* n0_i (- 1 u))) (* 1/120 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u)))))))))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (* 1/120 (* n0_i (- 1 u))))))) (* -1/6 (* n0_i (- 1 u))))))
(- 1 u)
(- (+ 1 (* (pow normAngle 2) (- (* -1/6 (pow (- 1 u) 3)) (* -1/6 (- 1 u))))) u)
(- (+ 1 (* (pow normAngle 2) (- (+ (* -1/6 (pow (- 1 u) 3)) (* (pow normAngle 2) (- (* 1/120 (pow (- 1 u) 5)) (+ (* -1/6 (- (* -1/6 (pow (- 1 u) 3)) (* -1/6 (- 1 u)))) (* 1/120 (- 1 u)))))) (* -1/6 (- 1 u))))) u)
(- (+ 1 (* (pow normAngle 2) (- (+ (* -1/6 (pow (- 1 u) 3)) (* (pow normAngle 2) (- (+ (* 1/120 (pow (- 1 u) 5)) (* (pow normAngle 2) (- (* -1/5040 (pow (- 1 u) 7)) (+ (* -1/6 (- (* 1/120 (pow (- 1 u) 5)) (+ (* -1/6 (- (* -1/6 (pow (- 1 u) 3)) (* -1/6 (- 1 u)))) (* 1/120 (- 1 u))))) (+ (* -1/5040 (- 1 u)) (* 1/120 (- (* -1/6 (pow (- 1 u) 3)) (* -1/6 (- 1 u))))))))) (+ (* -1/6 (- (* -1/6 (pow (- 1 u) 3)) (* -1/6 (- 1 u)))) (* 1/120 (- 1 u)))))) (* -1/6 (- 1 u))))) u)
(* normAngle u)
(* normAngle (+ u (* -1/6 (* (pow normAngle 2) (pow u 3)))))
(* normAngle (+ u (* (pow normAngle 2) (+ (* -1/6 (pow u 3)) (* 1/120 (* (pow normAngle 2) (pow u 5)))))))
(* normAngle (+ u (* (pow normAngle 2) (+ (* -1/6 (pow u 3)) (* (pow normAngle 2) (+ (* -1/5040 (* (pow normAngle 2) (pow u 7))) (* 1/120 (pow u 5))))))))
(+ (/ (* n0_i (sin (* normAngle (- 1 u)))) (sin normAngle)) (/ (* n1_i (sin (* normAngle u))) (sin normAngle)))
(sin (* normAngle (- 1 u)))
(/ (* n1_i (sin (* normAngle u))) (sin normAngle))
(/ (sin (* normAngle u)) (sin normAngle))
(/ (* n0_i (sin (* normAngle (- 1 u)))) (sin normAngle))
(/ (sin (* normAngle (- 1 u))) (sin normAngle))
(sin (* normAngle u))
n0_i
(+ n0_i (* u (+ (* -1 (/ (* n0_i (* normAngle (cos normAngle))) (sin normAngle))) (/ (* n1_i normAngle) (sin normAngle)))))
(+ n0_i (* u (+ (* -1 (/ (* n0_i (* normAngle (cos normAngle))) (sin normAngle))) (+ (* -1/2 (* n0_i (* (pow normAngle 2) u))) (/ (* n1_i normAngle) (sin normAngle))))))
(+ n0_i (* u (+ (* -1 (/ (* n0_i (* normAngle (cos normAngle))) (sin normAngle))) (+ (* u (+ (* -1/2 (* n0_i (pow normAngle 2))) (* u (+ (* -1/6 (/ (* n1_i (pow normAngle 3)) (sin normAngle))) (* 1/6 (/ (* n0_i (* (pow normAngle 3) (cos normAngle))) (sin normAngle))))))) (/ (* n1_i normAngle) (sin normAngle))))))
(sin normAngle)
(+ (sin normAngle) (* -1 (* normAngle (* u (cos normAngle)))))
(+ (sin normAngle) (* u (+ (* -1 (* normAngle (cos normAngle))) (* -1/2 (* (pow normAngle 2) (* u (sin normAngle)))))))
(+ (sin normAngle) (* u (+ (* -1 (* normAngle (cos normAngle))) (* u (+ (* -1/2 (* (pow normAngle 2) (sin normAngle))) (* 1/6 (* (pow normAngle 3) (* u (cos normAngle)))))))))
(/ (* n1_i (* normAngle u)) (sin normAngle))
(* u (+ (* -1/6 (/ (* n1_i (* (pow normAngle 3) (pow u 2))) (sin normAngle))) (/ (* n1_i normAngle) (sin normAngle))))
(* u (+ (* (pow u 2) (+ (* -1/6 (/ (* n1_i (pow normAngle 3)) (sin normAngle))) (* 1/120 (/ (* n1_i (* (pow normAngle 5) (pow u 2))) (sin normAngle))))) (/ (* n1_i normAngle) (sin normAngle))))
(* u (+ (* (pow u 2) (+ (* -1/6 (/ (* n1_i (pow normAngle 3)) (sin normAngle))) (* (pow u 2) (+ (* -1/5040 (/ (* n1_i (* (pow normAngle 7) (pow u 2))) (sin normAngle))) (* 1/120 (/ (* n1_i (pow normAngle 5)) (sin normAngle))))))) (/ (* n1_i normAngle) (sin normAngle))))
(/ (* normAngle u) (sin normAngle))
(* u (+ (* -1/6 (/ (* (pow normAngle 3) (pow u 2)) (sin normAngle))) (/ normAngle (sin normAngle))))
(* u (+ (* (pow u 2) (+ (* -1/6 (/ (pow normAngle 3) (sin normAngle))) (* 1/120 (/ (* (pow normAngle 5) (pow u 2)) (sin normAngle))))) (/ normAngle (sin normAngle))))
(* u (+ (* (pow u 2) (+ (* -1/6 (/ (pow normAngle 3) (sin normAngle))) (* (pow u 2) (+ (* -1/5040 (/ (* (pow normAngle 7) (pow u 2)) (sin normAngle))) (* 1/120 (/ (pow normAngle 5) (sin normAngle))))))) (/ normAngle (sin normAngle))))
(+ n0_i (* -1 (/ (* n0_i (* normAngle (* u (cos normAngle)))) (sin normAngle))))
(+ n0_i (* u (+ (* -1 (/ (* n0_i (* normAngle (cos normAngle))) (sin normAngle))) (* -1/2 (* n0_i (* (pow normAngle 2) u))))))
(+ n0_i (* u (+ (* -1 (/ (* n0_i (* normAngle (cos normAngle))) (sin normAngle))) (* u (+ (* -1/2 (* n0_i (pow normAngle 2))) (* 1/6 (/ (* n0_i (* (pow normAngle 3) (* u (cos normAngle)))) (sin normAngle))))))))
1
(+ 1 (* -1 u))
normAngle
(+ normAngle (* -1 (* normAngle u)))
(+ 1 (* -1 (/ (* normAngle (* u (cos normAngle))) (sin normAngle))))
(+ 1 (* u (+ (* -1 (/ (* normAngle (cos normAngle)) (sin normAngle))) (* -1/2 (* (pow normAngle 2) u)))))
(+ 1 (* u (+ (* -1 (/ (* normAngle (cos normAngle)) (sin normAngle))) (* u (+ (* -1/2 (pow normAngle 2)) (* 1/6 (/ (* (pow normAngle 3) (* u (cos normAngle))) (sin normAngle))))))))
(* u (+ normAngle (* -1/6 (* (pow normAngle 3) (pow u 2)))))
(* u (+ normAngle (* (pow u 2) (+ (* -1/6 (pow normAngle 3)) (* 1/120 (* (pow normAngle 5) (pow u 2)))))))
(* u (+ normAngle (* (pow u 2) (+ (* -1/6 (pow normAngle 3)) (* (pow u 2) (+ (* -1/5040 (* (pow normAngle 7) (pow u 2))) (* 1/120 (pow normAngle 5))))))))
(* -1 u)
(* u (- (/ 1 u) 1))
(* -1 (* normAngle u))
(* u (+ (* -1 normAngle) (/ normAngle u)))
(+ (/ (* n0_i (sin (* normAngle (+ 1 (* -1 u))))) (sin normAngle)) (/ (* n1_i (sin (* normAngle u))) (sin normAngle)))
(sin (* normAngle (+ 1 (* -1 u))))
(/ (* n0_i (sin (* normAngle (+ 1 (* -1 u))))) (sin normAngle))
(* -1 (* u (- 1 (/ 1 u))))
(* -1 (* u (+ normAngle (* -1 (/ normAngle u)))))
(/ (sin (* normAngle (+ 1 (* -1 u)))) (sin normAngle))
(* n0_i (+ (/ (sin (* normAngle (- 1 u))) (sin normAngle)) (/ (* n1_i (sin (* normAngle u))) (* n0_i (sin normAngle)))))
(* -1 (* n0_i (+ (* -1 (/ (sin (* normAngle (- 1 u))) (sin normAngle))) (* -1 (/ (* n1_i (sin (* normAngle u))) (* n0_i (sin normAngle)))))))
(* n1_i (+ (/ (sin (* normAngle u)) (sin normAngle)) (/ (* n0_i (sin (* normAngle (- 1 u)))) (* n1_i (sin normAngle)))))
(* -1 (* n1_i (+ (* -1 (/ (sin (* normAngle u)) (sin normAngle))) (* -1 (/ (* n0_i (sin (* normAngle (- 1 u)))) (* n1_i (sin normAngle)))))))
Outputs
(+ (* n0_i (- 1 u)) (* n1_i u))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i)))
(+ (* n0_i (- 1 u)) (+ (* n1_i u) (* (pow normAngle 2) (- (+ (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n1_i (pow u 3)))) (+ (* -1/6 (* n0_i (- 1 u))) (* -1/6 (* n1_i u)))))))
#s(approx (sin (* (- 1 u) normAngle)) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
(+ (* n0_i (- 1 u)) (+ (* n1_i u) (* (pow normAngle 2) (- (+ (* -1/6 (* n0_i (pow (- 1 u) 3))) (+ (* -1/6 (* n1_i (pow u 3))) (* (pow normAngle 2) (- (+ (* 1/120 (* n0_i (pow (- 1 u) 5))) (* 1/120 (* n1_i (pow u 5)))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (+ (* -1/6 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))) (+ (* 1/120 (* n0_i (- 1 u))) (* 1/120 (* n1_i u))))))))) (+ (* -1/6 (* n0_i (- 1 u))) (* -1/6 (* n1_i u)))))))
(*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i)
(+ (* n0_i (- 1 u)) (+ (* n1_i u) (* (pow normAngle 2) (- (+ (* -1/6 (* n0_i (pow (- 1 u) 3))) (+ (* -1/6 (* n1_i (pow u 3))) (* (pow normAngle 2) (- (+ (* 1/120 (* n0_i (pow (- 1 u) 5))) (+ (* 1/120 (* n1_i (pow u 5))) (* (pow normAngle 2) (- (+ (* -1/5040 (* n0_i (pow (- 1 u) 7))) (* -1/5040 (* n1_i (pow u 7)))) (+ (* -1/6 (- (* 1/120 (* n0_i (pow (- 1 u) 5))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (* 1/120 (* n0_i (- 1 u)))))) (+ (* -1/6 (- (* 1/120 (* n1_i (pow u 5))) (+ (* -1/6 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))) (* 1/120 (* n1_i u))))) (+ (* -1/5040 (* n0_i (- 1 u))) (+ (* -1/5040 (* n1_i u)) (+ (* 1/120 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (* 1/120 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u))))))))))))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (+ (* -1/6 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))) (+ (* 1/120 (* n0_i (- 1 u))) (* 1/120 (* n1_i u))))))))) (+ (* -1/6 (* n0_i (- 1 u))) (* -1/6 (* n1_i u)))))))
(*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))
(* normAngle (- 1 u))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (-.f32 #s(literal 1 binary32) u)))
(* normAngle (- (+ 1 (* -1/6 (* (pow normAngle 2) (pow (- 1 u) 3)))) u))
#s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (-.f32 #s(literal 1 binary32) u))
(* normAngle (- (+ 1 (* (pow normAngle 2) (+ (* -1/6 (pow (- 1 u) 3)) (* 1/120 (* (pow normAngle 2) (pow (- 1 u) 5)))))) u))
(-.f32 #s(literal 1 binary32) u)
(* normAngle (- (+ 1 (* (pow normAngle 2) (+ (* -1/6 (pow (- 1 u) 3)) (* (pow normAngle 2) (+ (* -1/5040 (* (pow normAngle 2) (pow (- 1 u) 7))) (* 1/120 (pow (- 1 u) 5))))))) u))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))
(* n1_i u)
#s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))
(+ (* n1_i u) (* (pow normAngle 2) (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))))
(*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)
(+ (* n1_i u) (* (pow normAngle 2) (- (+ (* -1/6 (* n1_i (pow u 3))) (* (pow normAngle 2) (- (* 1/120 (* n1_i (pow u 5))) (+ (* -1/6 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))) (* 1/120 (* n1_i u)))))) (* -1/6 (* n1_i u)))))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 #s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))) n0_i))
(+ (* n1_i u) (* (pow normAngle 2) (- (+ (* -1/6 (* n1_i (pow u 3))) (* (pow normAngle 2) (- (+ (* 1/120 (* n1_i (pow u 5))) (* (pow normAngle 2) (- (* -1/5040 (* n1_i (pow u 7))) (+ (* -1/6 (- (* 1/120 (* n1_i (pow u 5))) (+ (* -1/6 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))) (* 1/120 (* n1_i u))))) (+ (* -1/5040 (* n1_i u)) (* 1/120 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u))))))))) (+ (* -1/6 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))) (* 1/120 (* n1_i u)))))) (* -1/6 (* n1_i u)))))
(*.f32 #s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))) n0_i)
u
#s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))
(+ u (* (pow normAngle 2) (- (* -1/6 (pow u 3)) (* -1/6 u))))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle))))
(+ u (* (pow normAngle 2) (- (+ (* -1/6 (pow u 3)) (* (pow normAngle 2) (- (* 1/120 (pow u 5)) (+ (* -1/6 (- (* -1/6 (pow u 3)) (* -1/6 u))) (* 1/120 u))))) (* -1/6 u))))
#s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle)))
(+ u (* (pow normAngle 2) (- (+ (* -1/6 (pow u 3)) (* (pow normAngle 2) (- (+ (* 1/120 (pow u 5)) (* (pow normAngle 2) (- (* -1/5040 (pow u 7)) (+ (* -1/6 (- (* 1/120 (pow u 5)) (+ (* -1/6 (- (* -1/6 (pow u 3)) (* -1/6 u))) (* 1/120 u)))) (+ (* -1/5040 u) (* 1/120 (- (* -1/6 (pow u 3)) (* -1/6 u)))))))) (+ (* -1/6 (- (* -1/6 (pow u 3)) (* -1/6 u))) (* 1/120 u))))) (* -1/6 u))))
(sin.f32 (*.f32 u normAngle))
(* n0_i (- 1 u))
(*.f32 u normAngle)

rewrite1.0ms (0%)

Memory
2.0MiB live, 2.0MiB allocated
Counts
17 → 17
Calls
Call 1
Inputs
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i)))
#s(approx (sin (* (- 1 u) normAngle)) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
(*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i)
(*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (-.f32 #s(literal 1 binary32) u)))
#s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (-.f32 #s(literal 1 binary32) u))
(-.f32 #s(literal 1 binary32) u)
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))
#s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))
(*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 #s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))) n0_i))
(*.f32 #s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))) n0_i)
#s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle))))
#s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle)))
(sin.f32 (*.f32 u normAngle))
(*.f32 u normAngle)
Outputs
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i)))
#s(approx (sin (* (- 1 u) normAngle)) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
(*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i)
(*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (-.f32 #s(literal 1 binary32) u)))
#s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (-.f32 #s(literal 1 binary32) u))
(-.f32 #s(literal 1 binary32) u)
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))
#s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))
(*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 #s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))) n0_i))
(*.f32 #s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))) n0_i)
#s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle))))
#s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle)))
(sin.f32 (*.f32 u normAngle))
(*.f32 u normAngle)

eval3.0ms (0.1%)

Memory
5.9MiB live, 5.9MiB allocated
Compiler

Compiled 2 059 to 78 computations (96.2% saved)

prune19.0ms (0.4%)

Memory
-3.1MiB live, 34.6MiB allocated
Pruning

14 alts after pruning (5 fresh and 9 done)

PrunedKeptTotal
New35439
Fresh112
Picked145
Done055
Total371451
Accuracy
97.0%
Counts
51 → 14
Alt Table
Click to see full alt table
StatusAccuracyProgram
96.9%
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
24.4%
(+.f32 #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
57.2%
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i))
14.1%
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 (*.f32 #s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle))) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i))
8.1%
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))))
9.3%
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))))
11.1%
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 #s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))) n0_i))
10.1%
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))
8.1%
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (-.f32 #s(literal 1 binary32) u)))
10.1%
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))
10.3%
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 u normAngle)))
38.4%
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i)))
10.9%
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (sin.f32 (*.f32 u normAngle))) n1_i)))
11.3%
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) #s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))) n1_i)))
Compiler

Compiled 849 to 444 computations (47.7% saved)

simplify2.0ms (0%)

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

Found 19 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f32 u normAngle)
cost-diff0
(sin.f32 (*.f32 u normAngle))
cost-diff0
(*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))
cost-diff0
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))))
cost-diff0
#s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (sin.f32 (*.f32 u normAngle)))
cost-diff0
(*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (sin.f32 (*.f32 u normAngle))) n1_i)
cost-diff0
#s(approx (sin (* (- 1 u) normAngle)) (*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (sin.f32 (*.f32 u normAngle))) n1_i))
cost-diff0
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (sin.f32 (*.f32 u normAngle))) n1_i)))
cost-diff0
#s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) #s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))))
cost-diff0
(*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) #s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))) n1_i)
cost-diff0
#s(approx (sin (* (- 1 u) normAngle)) (*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) #s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))) n1_i))
cost-diff0
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) #s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))) n1_i)))
cost-diff0
(*.f32 u normAngle)
cost-diff0
#s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 u normAngle))
cost-diff0
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 u normAngle)))
cost-diff0
#s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle)))
cost-diff0
(*.f32 #s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle))) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))
cost-diff0
(*.f32 (*.f32 #s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle))) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i)
cost-diff0
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 (*.f32 #s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle))) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i))
Calls
Call 1
Inputs
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 (*.f32 #s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle))) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i))
(*.f32 (*.f32 #s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle))) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i)
(*.f32 #s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle))) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))
#s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle)))
(sin.f32 (*.f32 u normAngle))
(*.f32 u normAngle)
u
normAngle
(/.f32 #s(literal 1 binary32) (sin.f32 normAngle))
#s(literal 1 binary32)
(sin.f32 normAngle)
n0_i
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 u normAngle)))
#s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 u normAngle))
(*.f32 u normAngle)
u
normAngle
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) #s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))) n1_i)))
#s(approx (sin (* (- 1 u) normAngle)) (*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) #s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))) n1_i))
(*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) #s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))) n1_i)
#s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) #s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))))
#s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))
#s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))
(*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)
(-.f32 #s(literal 1 binary32) u)
#s(literal 1 binary32)
u
normAngle
n1_i
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (sin.f32 (*.f32 u normAngle))) n1_i)))
#s(approx (sin (* (- 1 u) normAngle)) (*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (sin.f32 (*.f32 u normAngle))) n1_i))
(*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (sin.f32 (*.f32 u normAngle))) n1_i)
#s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (sin.f32 (*.f32 u normAngle)))
(sin.f32 (*.f32 u normAngle))
(*.f32 u normAngle)
u
normAngle
n1_i
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))))
(*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))
(sin.f32 (*.f32 u normAngle))
(*.f32 u normAngle)
u
normAngle
(/.f32 #s(literal 1 binary32) (sin.f32 normAngle))
#s(literal 1 binary32)
(sin.f32 normAngle)
Outputs
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 (*.f32 #s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle))) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i))
(*.f32 (*.f32 #s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle))) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i)
(*.f32 #s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle))) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))
#s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle)))
(sin.f32 (*.f32 u normAngle))
(*.f32 u normAngle)
u
normAngle
(/.f32 #s(literal 1 binary32) (sin.f32 normAngle))
#s(literal 1 binary32)
(sin.f32 normAngle)
n0_i
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 u normAngle)))
#s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 u normAngle))
(*.f32 u normAngle)
u
normAngle
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) #s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))) n1_i)))
#s(approx (sin (* (- 1 u) normAngle)) (*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) #s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))) n1_i))
(*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) #s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))) n1_i)
#s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) #s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))))
#s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))
#s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))
(*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)
(-.f32 #s(literal 1 binary32) u)
#s(literal 1 binary32)
u
normAngle
n1_i
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (sin.f32 (*.f32 u normAngle))) n1_i)))
#s(approx (sin (* (- 1 u) normAngle)) (*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (sin.f32 (*.f32 u normAngle))) n1_i))
(*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (sin.f32 (*.f32 u normAngle))) n1_i)
#s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (sin.f32 (*.f32 u normAngle)))
(sin.f32 (*.f32 u normAngle))
(*.f32 u normAngle)
u
normAngle
n1_i
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))))
(*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))
(sin.f32 (*.f32 u normAngle))
(*.f32 u normAngle)
u
normAngle
(/.f32 #s(literal 1 binary32) (sin.f32 normAngle))
#s(literal 1 binary32)
(sin.f32 normAngle)

localize58.0ms (1.4%)

Memory
0.2MiB live, 79.3MiB allocated
Localize:

Found 19 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(sin.f32 normAngle)
accuracy0.03125
(/.f32 #s(literal 1 binary32) (sin.f32 normAngle))
accuracy1.6360663614257547
(*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))
accuracy29.040329272119788
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))))
accuracy0.03515625
(*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (sin.f32 (*.f32 u normAngle))) n1_i)
accuracy28.511008981564856
#s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (sin.f32 (*.f32 u normAngle)))
accuracy28.75556586041143
#s(approx (sin (* (- 1 u) normAngle)) (*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (sin.f32 (*.f32 u normAngle))) n1_i))
accuracy28.783290204986027
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (sin.f32 (*.f32 u normAngle))) n1_i)))
accuracy28.75556586041143
#s(approx (sin (* (- 1 u) normAngle)) (*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) #s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))) n1_i))
accuracy28.777850348308103
#s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))
accuracy28.783290204986027
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) #s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))) n1_i)))
accuracy29.53638341695203
#s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))
accuracy0.0
(*.f32 u normAngle)
accuracy13.51258210281157
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 u normAngle)))
accuracy28.563857852865823
#s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 u normAngle))
accuracy0.22265625
(*.f32 (*.f32 #s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle))) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i)
accuracy0.5280075272154254
(*.f32 #s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle))) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))
accuracy13.51258210281157
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 (*.f32 #s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle))) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i))
accuracy26.31760451023022
#s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle)))
Samples
40.0ms250×0valid
2.0ms1valid
Compiler

Compiled 930 to 61 computations (93.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 25.0ms
ival-mult: 14.0ms (55.3% of total)
ival-sin: 6.0ms (23.7% of total)
ival-div: 2.0ms (7.9% of total)
ival-add: 1.0ms (3.9% of total)
ival-sub: 1.0ms (3.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)

series28.0ms (0.7%)

Memory
14.8MiB live, 53.0MiB allocated
Counts
22 → 78
Calls
Call 1
Inputs
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 (*.f32 #s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle))) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i))
(*.f32 (*.f32 #s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle))) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i)
(*.f32 #s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle))) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))
#s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle)))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 u normAngle)))
#s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 u normAngle))
(*.f32 u normAngle)
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) #s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))) n1_i)))
#s(approx (sin (* (- 1 u) normAngle)) (*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) #s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))) n1_i))
(*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) #s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))) n1_i)
#s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) #s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (sin.f32 (*.f32 u normAngle))) n1_i)))
#s(approx (sin (* (- 1 u) normAngle)) (*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (sin.f32 (*.f32 u normAngle))) n1_i))
(*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (sin.f32 (*.f32 u normAngle))) n1_i)
#s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (sin.f32 (*.f32 u normAngle)))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))))
(*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))
(sin.f32 (*.f32 u normAngle))
#s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))
#s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))
(/.f32 #s(literal 1 binary32) (sin.f32 normAngle))
(sin.f32 normAngle)
Outputs
(+ (* n0_i (- 1 u)) (* n1_i u))
(+ (* n0_i (- 1 u)) (+ (* n1_i u) (* (pow normAngle 2) (- (+ (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n1_i (pow u 3)))) (+ (* -1/6 (* n0_i (- 1 u))) (* -1/6 (* n1_i u)))))))
(+ (* n0_i (- 1 u)) (+ (* n1_i u) (* (pow normAngle 2) (- (+ (* -1/6 (* n0_i (pow (- 1 u) 3))) (+ (* -1/6 (* n1_i (pow u 3))) (* (pow normAngle 2) (- (+ (* 1/120 (* n0_i (pow (- 1 u) 5))) (* 1/120 (* n1_i (pow u 5)))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (+ (* -1/6 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))) (+ (* 1/120 (* n0_i (- 1 u))) (* 1/120 (* n1_i u))))))))) (+ (* -1/6 (* n0_i (- 1 u))) (* -1/6 (* n1_i u)))))))
(+ (* n0_i (- 1 u)) (+ (* n1_i u) (* (pow normAngle 2) (- (+ (* -1/6 (* n0_i (pow (- 1 u) 3))) (+ (* -1/6 (* n1_i (pow u 3))) (* (pow normAngle 2) (- (+ (* 1/120 (* n0_i (pow (- 1 u) 5))) (+ (* 1/120 (* n1_i (pow u 5))) (* (pow normAngle 2) (- (+ (* -1/5040 (* n0_i (pow (- 1 u) 7))) (* -1/5040 (* n1_i (pow u 7)))) (+ (* -1/6 (- (* 1/120 (* n0_i (pow (- 1 u) 5))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (* 1/120 (* n0_i (- 1 u)))))) (+ (* -1/6 (- (* 1/120 (* n1_i (pow u 5))) (+ (* -1/6 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))) (* 1/120 (* n1_i u))))) (+ (* -1/5040 (* n0_i (- 1 u))) (+ (* -1/5040 (* n1_i u)) (+ (* 1/120 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (* 1/120 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u))))))))))))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (+ (* -1/6 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))) (+ (* 1/120 (* n0_i (- 1 u))) (* 1/120 (* n1_i u))))))))) (+ (* -1/6 (* n0_i (- 1 u))) (* -1/6 (* n1_i u)))))))
(* n0_i (- 1 u))
(+ (* n0_i (- 1 u)) (* (pow normAngle 2) (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))))
(+ (* n0_i (- 1 u)) (* (pow normAngle 2) (- (+ (* -1/6 (* n0_i (pow (- 1 u) 3))) (* (pow normAngle 2) (- (* 1/120 (* n0_i (pow (- 1 u) 5))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (* 1/120 (* n0_i (- 1 u))))))) (* -1/6 (* n0_i (- 1 u))))))
(+ (* n0_i (- 1 u)) (* (pow normAngle 2) (- (+ (* -1/6 (* n0_i (pow (- 1 u) 3))) (* (pow normAngle 2) (- (+ (* 1/120 (* n0_i (pow (- 1 u) 5))) (* (pow normAngle 2) (- (* -1/5040 (* n0_i (pow (- 1 u) 7))) (+ (* -1/6 (- (* 1/120 (* n0_i (pow (- 1 u) 5))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (* 1/120 (* n0_i (- 1 u)))))) (+ (* -1/5040 (* n0_i (- 1 u))) (* 1/120 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u)))))))))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (* 1/120 (* n0_i (- 1 u))))))) (* -1/6 (* n0_i (- 1 u))))))
(- 1 u)
(- (+ 1 (* (pow normAngle 2) (- (* -1/6 (pow (- 1 u) 3)) (* -1/6 (- 1 u))))) u)
(- (+ 1 (* (pow normAngle 2) (- (+ (* -1/6 (pow (- 1 u) 3)) (* (pow normAngle 2) (- (* 1/120 (pow (- 1 u) 5)) (+ (* -1/6 (- (* -1/6 (pow (- 1 u) 3)) (* -1/6 (- 1 u)))) (* 1/120 (- 1 u)))))) (* -1/6 (- 1 u))))) u)
(- (+ 1 (* (pow normAngle 2) (- (+ (* -1/6 (pow (- 1 u) 3)) (* (pow normAngle 2) (- (+ (* 1/120 (pow (- 1 u) 5)) (* (pow normAngle 2) (- (* -1/5040 (pow (- 1 u) 7)) (+ (* -1/6 (- (* 1/120 (pow (- 1 u) 5)) (+ (* -1/6 (- (* -1/6 (pow (- 1 u) 3)) (* -1/6 (- 1 u)))) (* 1/120 (- 1 u))))) (+ (* -1/5040 (- 1 u)) (* 1/120 (- (* -1/6 (pow (- 1 u) 3)) (* -1/6 (- 1 u))))))))) (+ (* -1/6 (- (* -1/6 (pow (- 1 u) 3)) (* -1/6 (- 1 u)))) (* 1/120 (- 1 u)))))) (* -1/6 (- 1 u))))) u)
(* normAngle (- 1 u))
(* normAngle (- (+ 1 (* -1/6 (* (pow normAngle 2) (pow (- 1 u) 3)))) u))
(* normAngle (- (+ 1 (* (pow normAngle 2) (+ (* -1/6 (pow (- 1 u) 3)) (* 1/120 (* (pow normAngle 2) (pow (- 1 u) 5)))))) u))
(* normAngle (- (+ 1 (* (pow normAngle 2) (+ (* -1/6 (pow (- 1 u) 3)) (* (pow normAngle 2) (+ (* -1/5040 (* (pow normAngle 2) (pow (- 1 u) 7))) (* 1/120 (pow (- 1 u) 5))))))) u))
(* normAngle u)
(* n1_i u)
(+ (* n1_i u) (* (pow normAngle 2) (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))))
(+ (* n1_i u) (* (pow normAngle 2) (- (+ (* -1/6 (* n1_i (pow u 3))) (* (pow normAngle 2) (- (* 1/120 (* n1_i (pow u 5))) (+ (* -1/6 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))) (* 1/120 (* n1_i u)))))) (* -1/6 (* n1_i u)))))
(+ (* n1_i u) (* (pow normAngle 2) (- (+ (* -1/6 (* n1_i (pow u 3))) (* (pow normAngle 2) (- (+ (* 1/120 (* n1_i (pow u 5))) (* (pow normAngle 2) (- (* -1/5040 (* n1_i (pow u 7))) (+ (* -1/6 (- (* 1/120 (* n1_i (pow u 5))) (+ (* -1/6 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))) (* 1/120 (* n1_i u))))) (+ (* -1/5040 (* n1_i u)) (* 1/120 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u))))))))) (+ (* -1/6 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))) (* 1/120 (* n1_i u)))))) (* -1/6 (* n1_i u)))))
u
(+ u (* (pow normAngle 2) (- (* -1/6 (pow u 3)) (* -1/6 u))))
(+ u (* (pow normAngle 2) (- (+ (* -1/6 (pow u 3)) (* (pow normAngle 2) (- (* 1/120 (pow u 5)) (+ (* -1/6 (- (* -1/6 (pow u 3)) (* -1/6 u))) (* 1/120 u))))) (* -1/6 u))))
(+ u (* (pow normAngle 2) (- (+ (* -1/6 (pow u 3)) (* (pow normAngle 2) (- (+ (* 1/120 (pow u 5)) (* (pow normAngle 2) (- (* -1/5040 (pow u 7)) (+ (* -1/6 (- (* 1/120 (pow u 5)) (+ (* -1/6 (- (* -1/6 (pow u 3)) (* -1/6 u))) (* 1/120 u)))) (+ (* -1/5040 u) (* 1/120 (- (* -1/6 (pow u 3)) (* -1/6 u)))))))) (+ (* -1/6 (- (* -1/6 (pow u 3)) (* -1/6 u))) (* 1/120 u))))) (* -1/6 u))))
(* normAngle (+ u (* -1/6 (* (pow normAngle 2) (pow u 3)))))
(* normAngle (+ u (* (pow normAngle 2) (+ (* -1/6 (pow u 3)) (* 1/120 (* (pow normAngle 2) (pow u 5)))))))
(* normAngle (+ u (* (pow normAngle 2) (+ (* -1/6 (pow u 3)) (* (pow normAngle 2) (+ (* -1/5040 (* (pow normAngle 2) (pow u 7))) (* 1/120 (pow u 5))))))))
(/ 1 normAngle)
(/ (+ 1 (* 1/6 (pow normAngle 2))) normAngle)
(/ (+ 1 (* (pow normAngle 2) (+ 1/6 (* 7/360 (pow normAngle 2))))) normAngle)
(/ (+ 1 (* (pow normAngle 2) (+ 1/6 (* (pow normAngle 2) (+ 7/360 (* 31/15120 (pow normAngle 2))))))) normAngle)
normAngle
(* normAngle (+ 1 (* -1/6 (pow normAngle 2))))
(* normAngle (+ 1 (* (pow normAngle 2) (- (* 1/120 (pow normAngle 2)) 1/6))))
(* normAngle (+ 1 (* (pow normAngle 2) (- (* (pow normAngle 2) (+ 1/120 (* -1/5040 (pow normAngle 2)))) 1/6))))
(+ (/ (* n0_i (sin (* normAngle (- 1 u)))) (sin normAngle)) (/ (* n1_i (sin (* normAngle u))) (sin normAngle)))
(/ (* n0_i (sin (* normAngle (- 1 u)))) (sin normAngle))
(/ (sin (* normAngle (- 1 u))) (sin normAngle))
(sin (* normAngle (- 1 u)))
(/ (* n1_i (sin (* normAngle u))) (sin normAngle))
(/ (sin (* normAngle u)) (sin normAngle))
(sin (* normAngle u))
(/ 1 (sin normAngle))
(sin normAngle)
n0_i
(+ n0_i (* u (+ (* -1 (/ (* n0_i (* normAngle (cos normAngle))) (sin normAngle))) (/ (* n1_i normAngle) (sin normAngle)))))
(+ n0_i (* u (+ (* -1 (/ (* n0_i (* normAngle (cos normAngle))) (sin normAngle))) (+ (* -1/2 (* n0_i (* (pow normAngle 2) u))) (/ (* n1_i normAngle) (sin normAngle))))))
(+ n0_i (* u (+ (* -1 (/ (* n0_i (* normAngle (cos normAngle))) (sin normAngle))) (+ (* u (+ (* -1/2 (* n0_i (pow normAngle 2))) (* u (+ (* -1/6 (/ (* n1_i (pow normAngle 3)) (sin normAngle))) (* 1/6 (/ (* n0_i (* (pow normAngle 3) (cos normAngle))) (sin normAngle))))))) (/ (* n1_i normAngle) (sin normAngle))))))
(+ n0_i (* -1 (/ (* n0_i (* normAngle (* u (cos normAngle)))) (sin normAngle))))
(+ n0_i (* u (+ (* -1 (/ (* n0_i (* normAngle (cos normAngle))) (sin normAngle))) (* -1/2 (* n0_i (* (pow normAngle 2) u))))))
(+ n0_i (* u (+ (* -1 (/ (* n0_i (* normAngle (cos normAngle))) (sin normAngle))) (* u (+ (* -1/2 (* n0_i (pow normAngle 2))) (* 1/6 (/ (* n0_i (* (pow normAngle 3) (* u (cos normAngle)))) (sin normAngle))))))))
1
(+ 1 (* -1 (/ (* normAngle (* u (cos normAngle))) (sin normAngle))))
(+ 1 (* u (+ (* -1 (/ (* normAngle (cos normAngle)) (sin normAngle))) (* -1/2 (* (pow normAngle 2) u)))))
(+ 1 (* u (+ (* -1 (/ (* normAngle (cos normAngle)) (sin normAngle))) (* u (+ (* -1/2 (pow normAngle 2)) (* 1/6 (/ (* (pow normAngle 3) (* u (cos normAngle))) (sin normAngle))))))))
(+ (sin normAngle) (* -1 (* normAngle (* u (cos normAngle)))))
(+ (sin normAngle) (* u (+ (* -1 (* normAngle (cos normAngle))) (* -1/2 (* (pow normAngle 2) (* u (sin normAngle)))))))
(+ (sin normAngle) (* u (+ (* -1 (* normAngle (cos normAngle))) (* u (+ (* -1/2 (* (pow normAngle 2) (sin normAngle))) (* 1/6 (* (pow normAngle 3) (* u (cos normAngle)))))))))
(/ (* n1_i (* normAngle u)) (sin normAngle))
(* u (+ (* -1/6 (/ (* n1_i (* (pow normAngle 3) (pow u 2))) (sin normAngle))) (/ (* n1_i normAngle) (sin normAngle))))
(* u (+ (* (pow u 2) (+ (* -1/6 (/ (* n1_i (pow normAngle 3)) (sin normAngle))) (* 1/120 (/ (* n1_i (* (pow normAngle 5) (pow u 2))) (sin normAngle))))) (/ (* n1_i normAngle) (sin normAngle))))
(* u (+ (* (pow u 2) (+ (* -1/6 (/ (* n1_i (pow normAngle 3)) (sin normAngle))) (* (pow u 2) (+ (* -1/5040 (/ (* n1_i (* (pow normAngle 7) (pow u 2))) (sin normAngle))) (* 1/120 (/ (* n1_i (pow normAngle 5)) (sin normAngle))))))) (/ (* n1_i normAngle) (sin normAngle))))
(/ (* normAngle u) (sin normAngle))
(* u (+ (* -1/6 (/ (* (pow normAngle 3) (pow u 2)) (sin normAngle))) (/ normAngle (sin normAngle))))
(* u (+ (* (pow u 2) (+ (* -1/6 (/ (pow normAngle 3) (sin normAngle))) (* 1/120 (/ (* (pow normAngle 5) (pow u 2)) (sin normAngle))))) (/ normAngle (sin normAngle))))
(* u (+ (* (pow u 2) (+ (* -1/6 (/ (pow normAngle 3) (sin normAngle))) (* (pow u 2) (+ (* -1/5040 (/ (* (pow normAngle 7) (pow u 2)) (sin normAngle))) (* 1/120 (/ (pow normAngle 5) (sin normAngle))))))) (/ normAngle (sin normAngle))))
(* u (+ normAngle (* -1/6 (* (pow normAngle 3) (pow u 2)))))
(* u (+ normAngle (* (pow u 2) (+ (* -1/6 (pow normAngle 3)) (* 1/120 (* (pow normAngle 5) (pow u 2)))))))
(* u (+ normAngle (* (pow u 2) (+ (* -1/6 (pow normAngle 3)) (* (pow u 2) (+ (* -1/5040 (* (pow normAngle 7) (pow u 2))) (* 1/120 (pow normAngle 5))))))))
(+ (/ (* n0_i (sin (* normAngle (+ 1 (* -1 u))))) (sin normAngle)) (/ (* n1_i (sin (* normAngle u))) (sin normAngle)))
(/ (* n0_i (sin (* normAngle (+ 1 (* -1 u))))) (sin normAngle))
(/ (sin (* normAngle (+ 1 (* -1 u)))) (sin normAngle))
(sin (* normAngle (+ 1 (* -1 u))))
(* n0_i (+ (/ (sin (* normAngle (- 1 u))) (sin normAngle)) (/ (* n1_i (sin (* normAngle u))) (* n0_i (sin normAngle)))))
(* -1 (* n0_i (+ (* -1 (/ (sin (* normAngle (- 1 u))) (sin normAngle))) (* -1 (/ (* n1_i (sin (* normAngle u))) (* n0_i (sin normAngle)))))))
(* n1_i (+ (/ (sin (* normAngle u)) (sin normAngle)) (/ (* n0_i (sin (* normAngle (- 1 u)))) (* n1_i (sin normAngle)))))
(* -1 (* n1_i (+ (* -1 (/ (sin (* normAngle u)) (sin normAngle))) (* -1 (/ (* n0_i (sin (* normAngle (- 1 u)))) (* n1_i (sin normAngle)))))))
Calls

12 calls:

TimeVariablePointExpression
5.0ms
u
@-inf
((+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) (sin (* (- 1 u) normAngle)) (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* u normAngle) (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (sin (* (- 1 u) normAngle)) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i) (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (sin (* (- 1 u) normAngle)) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i) (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (sin (* u normAngle)) (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (/ 1 (sin normAngle)) (sin normAngle))
2.0ms
normAngle
@0
((+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) (sin (* (- 1 u) normAngle)) (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* u normAngle) (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (sin (* (- 1 u) normAngle)) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i) (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (sin (* (- 1 u) normAngle)) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i) (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (sin (* u normAngle)) (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (/ 1 (sin normAngle)) (sin normAngle))
2.0ms
normAngle
@-inf
((+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) (sin (* (- 1 u) normAngle)) (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* u normAngle) (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (sin (* (- 1 u) normAngle)) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i) (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (sin (* (- 1 u) normAngle)) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i) (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (sin (* u normAngle)) (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (/ 1 (sin normAngle)) (sin normAngle))
2.0ms
normAngle
@inf
((+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) (sin (* (- 1 u) normAngle)) (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* u normAngle) (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (sin (* (- 1 u) normAngle)) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i) (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (sin (* (- 1 u) normAngle)) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i) (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (sin (* u normAngle)) (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (/ 1 (sin normAngle)) (sin normAngle))
2.0ms
u
@inf
((+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) (sin (* (- 1 u) normAngle)) (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* u normAngle) (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (sin (* (- 1 u) normAngle)) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i) (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (sin (* (- 1 u) normAngle)) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i) (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (sin (* u normAngle)) (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (/ 1 (sin normAngle)) (sin normAngle))

simplify2.0ms (0.1%)

Memory
4.5MiB live, 4.5MiB allocated
Algorithm
egg-herbie
Counts
78 → 22
Calls
Call 1
Inputs
(+ (* n0_i (- 1 u)) (* n1_i u))
(+ (* n0_i (- 1 u)) (+ (* n1_i u) (* (pow normAngle 2) (- (+ (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n1_i (pow u 3)))) (+ (* -1/6 (* n0_i (- 1 u))) (* -1/6 (* n1_i u)))))))
(+ (* n0_i (- 1 u)) (+ (* n1_i u) (* (pow normAngle 2) (- (+ (* -1/6 (* n0_i (pow (- 1 u) 3))) (+ (* -1/6 (* n1_i (pow u 3))) (* (pow normAngle 2) (- (+ (* 1/120 (* n0_i (pow (- 1 u) 5))) (* 1/120 (* n1_i (pow u 5)))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (+ (* -1/6 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))) (+ (* 1/120 (* n0_i (- 1 u))) (* 1/120 (* n1_i u))))))))) (+ (* -1/6 (* n0_i (- 1 u))) (* -1/6 (* n1_i u)))))))
(+ (* n0_i (- 1 u)) (+ (* n1_i u) (* (pow normAngle 2) (- (+ (* -1/6 (* n0_i (pow (- 1 u) 3))) (+ (* -1/6 (* n1_i (pow u 3))) (* (pow normAngle 2) (- (+ (* 1/120 (* n0_i (pow (- 1 u) 5))) (+ (* 1/120 (* n1_i (pow u 5))) (* (pow normAngle 2) (- (+ (* -1/5040 (* n0_i (pow (- 1 u) 7))) (* -1/5040 (* n1_i (pow u 7)))) (+ (* -1/6 (- (* 1/120 (* n0_i (pow (- 1 u) 5))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (* 1/120 (* n0_i (- 1 u)))))) (+ (* -1/6 (- (* 1/120 (* n1_i (pow u 5))) (+ (* -1/6 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))) (* 1/120 (* n1_i u))))) (+ (* -1/5040 (* n0_i (- 1 u))) (+ (* -1/5040 (* n1_i u)) (+ (* 1/120 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (* 1/120 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u))))))))))))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (+ (* -1/6 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))) (+ (* 1/120 (* n0_i (- 1 u))) (* 1/120 (* n1_i u))))))))) (+ (* -1/6 (* n0_i (- 1 u))) (* -1/6 (* n1_i u)))))))
(* n0_i (- 1 u))
(+ (* n0_i (- 1 u)) (* (pow normAngle 2) (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))))
(+ (* n0_i (- 1 u)) (* (pow normAngle 2) (- (+ (* -1/6 (* n0_i (pow (- 1 u) 3))) (* (pow normAngle 2) (- (* 1/120 (* n0_i (pow (- 1 u) 5))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (* 1/120 (* n0_i (- 1 u))))))) (* -1/6 (* n0_i (- 1 u))))))
(+ (* n0_i (- 1 u)) (* (pow normAngle 2) (- (+ (* -1/6 (* n0_i (pow (- 1 u) 3))) (* (pow normAngle 2) (- (+ (* 1/120 (* n0_i (pow (- 1 u) 5))) (* (pow normAngle 2) (- (* -1/5040 (* n0_i (pow (- 1 u) 7))) (+ (* -1/6 (- (* 1/120 (* n0_i (pow (- 1 u) 5))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (* 1/120 (* n0_i (- 1 u)))))) (+ (* -1/5040 (* n0_i (- 1 u))) (* 1/120 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u)))))))))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (* 1/120 (* n0_i (- 1 u))))))) (* -1/6 (* n0_i (- 1 u))))))
(- 1 u)
(- (+ 1 (* (pow normAngle 2) (- (* -1/6 (pow (- 1 u) 3)) (* -1/6 (- 1 u))))) u)
(- (+ 1 (* (pow normAngle 2) (- (+ (* -1/6 (pow (- 1 u) 3)) (* (pow normAngle 2) (- (* 1/120 (pow (- 1 u) 5)) (+ (* -1/6 (- (* -1/6 (pow (- 1 u) 3)) (* -1/6 (- 1 u)))) (* 1/120 (- 1 u)))))) (* -1/6 (- 1 u))))) u)
(- (+ 1 (* (pow normAngle 2) (- (+ (* -1/6 (pow (- 1 u) 3)) (* (pow normAngle 2) (- (+ (* 1/120 (pow (- 1 u) 5)) (* (pow normAngle 2) (- (* -1/5040 (pow (- 1 u) 7)) (+ (* -1/6 (- (* 1/120 (pow (- 1 u) 5)) (+ (* -1/6 (- (* -1/6 (pow (- 1 u) 3)) (* -1/6 (- 1 u)))) (* 1/120 (- 1 u))))) (+ (* -1/5040 (- 1 u)) (* 1/120 (- (* -1/6 (pow (- 1 u) 3)) (* -1/6 (- 1 u))))))))) (+ (* -1/6 (- (* -1/6 (pow (- 1 u) 3)) (* -1/6 (- 1 u)))) (* 1/120 (- 1 u)))))) (* -1/6 (- 1 u))))) u)
(* normAngle (- 1 u))
(* normAngle (- (+ 1 (* -1/6 (* (pow normAngle 2) (pow (- 1 u) 3)))) u))
(* normAngle (- (+ 1 (* (pow normAngle 2) (+ (* -1/6 (pow (- 1 u) 3)) (* 1/120 (* (pow normAngle 2) (pow (- 1 u) 5)))))) u))
(* normAngle (- (+ 1 (* (pow normAngle 2) (+ (* -1/6 (pow (- 1 u) 3)) (* (pow normAngle 2) (+ (* -1/5040 (* (pow normAngle 2) (pow (- 1 u) 7))) (* 1/120 (pow (- 1 u) 5))))))) u))
(* normAngle u)
(* n1_i u)
(+ (* n1_i u) (* (pow normAngle 2) (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))))
(+ (* n1_i u) (* (pow normAngle 2) (- (+ (* -1/6 (* n1_i (pow u 3))) (* (pow normAngle 2) (- (* 1/120 (* n1_i (pow u 5))) (+ (* -1/6 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))) (* 1/120 (* n1_i u)))))) (* -1/6 (* n1_i u)))))
(+ (* n1_i u) (* (pow normAngle 2) (- (+ (* -1/6 (* n1_i (pow u 3))) (* (pow normAngle 2) (- (+ (* 1/120 (* n1_i (pow u 5))) (* (pow normAngle 2) (- (* -1/5040 (* n1_i (pow u 7))) (+ (* -1/6 (- (* 1/120 (* n1_i (pow u 5))) (+ (* -1/6 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))) (* 1/120 (* n1_i u))))) (+ (* -1/5040 (* n1_i u)) (* 1/120 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u))))))))) (+ (* -1/6 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))) (* 1/120 (* n1_i u)))))) (* -1/6 (* n1_i u)))))
u
(+ u (* (pow normAngle 2) (- (* -1/6 (pow u 3)) (* -1/6 u))))
(+ u (* (pow normAngle 2) (- (+ (* -1/6 (pow u 3)) (* (pow normAngle 2) (- (* 1/120 (pow u 5)) (+ (* -1/6 (- (* -1/6 (pow u 3)) (* -1/6 u))) (* 1/120 u))))) (* -1/6 u))))
(+ u (* (pow normAngle 2) (- (+ (* -1/6 (pow u 3)) (* (pow normAngle 2) (- (+ (* 1/120 (pow u 5)) (* (pow normAngle 2) (- (* -1/5040 (pow u 7)) (+ (* -1/6 (- (* 1/120 (pow u 5)) (+ (* -1/6 (- (* -1/6 (pow u 3)) (* -1/6 u))) (* 1/120 u)))) (+ (* -1/5040 u) (* 1/120 (- (* -1/6 (pow u 3)) (* -1/6 u)))))))) (+ (* -1/6 (- (* -1/6 (pow u 3)) (* -1/6 u))) (* 1/120 u))))) (* -1/6 u))))
(* normAngle (+ u (* -1/6 (* (pow normAngle 2) (pow u 3)))))
(* normAngle (+ u (* (pow normAngle 2) (+ (* -1/6 (pow u 3)) (* 1/120 (* (pow normAngle 2) (pow u 5)))))))
(* normAngle (+ u (* (pow normAngle 2) (+ (* -1/6 (pow u 3)) (* (pow normAngle 2) (+ (* -1/5040 (* (pow normAngle 2) (pow u 7))) (* 1/120 (pow u 5))))))))
(/ 1 normAngle)
(/ (+ 1 (* 1/6 (pow normAngle 2))) normAngle)
(/ (+ 1 (* (pow normAngle 2) (+ 1/6 (* 7/360 (pow normAngle 2))))) normAngle)
(/ (+ 1 (* (pow normAngle 2) (+ 1/6 (* (pow normAngle 2) (+ 7/360 (* 31/15120 (pow normAngle 2))))))) normAngle)
normAngle
(* normAngle (+ 1 (* -1/6 (pow normAngle 2))))
(* normAngle (+ 1 (* (pow normAngle 2) (- (* 1/120 (pow normAngle 2)) 1/6))))
(* normAngle (+ 1 (* (pow normAngle 2) (- (* (pow normAngle 2) (+ 1/120 (* -1/5040 (pow normAngle 2)))) 1/6))))
(+ (/ (* n0_i (sin (* normAngle (- 1 u)))) (sin normAngle)) (/ (* n1_i (sin (* normAngle u))) (sin normAngle)))
(/ (* n0_i (sin (* normAngle (- 1 u)))) (sin normAngle))
(/ (sin (* normAngle (- 1 u))) (sin normAngle))
(sin (* normAngle (- 1 u)))
(/ (* n1_i (sin (* normAngle u))) (sin normAngle))
(/ (sin (* normAngle u)) (sin normAngle))
(sin (* normAngle u))
(/ 1 (sin normAngle))
(sin normAngle)
n0_i
(+ n0_i (* u (+ (* -1 (/ (* n0_i (* normAngle (cos normAngle))) (sin normAngle))) (/ (* n1_i normAngle) (sin normAngle)))))
(+ n0_i (* u (+ (* -1 (/ (* n0_i (* normAngle (cos normAngle))) (sin normAngle))) (+ (* -1/2 (* n0_i (* (pow normAngle 2) u))) (/ (* n1_i normAngle) (sin normAngle))))))
(+ n0_i (* u (+ (* -1 (/ (* n0_i (* normAngle (cos normAngle))) (sin normAngle))) (+ (* u (+ (* -1/2 (* n0_i (pow normAngle 2))) (* u (+ (* -1/6 (/ (* n1_i (pow normAngle 3)) (sin normAngle))) (* 1/6 (/ (* n0_i (* (pow normAngle 3) (cos normAngle))) (sin normAngle))))))) (/ (* n1_i normAngle) (sin normAngle))))))
(+ n0_i (* -1 (/ (* n0_i (* normAngle (* u (cos normAngle)))) (sin normAngle))))
(+ n0_i (* u (+ (* -1 (/ (* n0_i (* normAngle (cos normAngle))) (sin normAngle))) (* -1/2 (* n0_i (* (pow normAngle 2) u))))))
(+ n0_i (* u (+ (* -1 (/ (* n0_i (* normAngle (cos normAngle))) (sin normAngle))) (* u (+ (* -1/2 (* n0_i (pow normAngle 2))) (* 1/6 (/ (* n0_i (* (pow normAngle 3) (* u (cos normAngle)))) (sin normAngle))))))))
1
(+ 1 (* -1 (/ (* normAngle (* u (cos normAngle))) (sin normAngle))))
(+ 1 (* u (+ (* -1 (/ (* normAngle (cos normAngle)) (sin normAngle))) (* -1/2 (* (pow normAngle 2) u)))))
(+ 1 (* u (+ (* -1 (/ (* normAngle (cos normAngle)) (sin normAngle))) (* u (+ (* -1/2 (pow normAngle 2)) (* 1/6 (/ (* (pow normAngle 3) (* u (cos normAngle))) (sin normAngle))))))))
(+ (sin normAngle) (* -1 (* normAngle (* u (cos normAngle)))))
(+ (sin normAngle) (* u (+ (* -1 (* normAngle (cos normAngle))) (* -1/2 (* (pow normAngle 2) (* u (sin normAngle)))))))
(+ (sin normAngle) (* u (+ (* -1 (* normAngle (cos normAngle))) (* u (+ (* -1/2 (* (pow normAngle 2) (sin normAngle))) (* 1/6 (* (pow normAngle 3) (* u (cos normAngle)))))))))
(/ (* n1_i (* normAngle u)) (sin normAngle))
(* u (+ (* -1/6 (/ (* n1_i (* (pow normAngle 3) (pow u 2))) (sin normAngle))) (/ (* n1_i normAngle) (sin normAngle))))
(* u (+ (* (pow u 2) (+ (* -1/6 (/ (* n1_i (pow normAngle 3)) (sin normAngle))) (* 1/120 (/ (* n1_i (* (pow normAngle 5) (pow u 2))) (sin normAngle))))) (/ (* n1_i normAngle) (sin normAngle))))
(* u (+ (* (pow u 2) (+ (* -1/6 (/ (* n1_i (pow normAngle 3)) (sin normAngle))) (* (pow u 2) (+ (* -1/5040 (/ (* n1_i (* (pow normAngle 7) (pow u 2))) (sin normAngle))) (* 1/120 (/ (* n1_i (pow normAngle 5)) (sin normAngle))))))) (/ (* n1_i normAngle) (sin normAngle))))
(/ (* normAngle u) (sin normAngle))
(* u (+ (* -1/6 (/ (* (pow normAngle 3) (pow u 2)) (sin normAngle))) (/ normAngle (sin normAngle))))
(* u (+ (* (pow u 2) (+ (* -1/6 (/ (pow normAngle 3) (sin normAngle))) (* 1/120 (/ (* (pow normAngle 5) (pow u 2)) (sin normAngle))))) (/ normAngle (sin normAngle))))
(* u (+ (* (pow u 2) (+ (* -1/6 (/ (pow normAngle 3) (sin normAngle))) (* (pow u 2) (+ (* -1/5040 (/ (* (pow normAngle 7) (pow u 2)) (sin normAngle))) (* 1/120 (/ (pow normAngle 5) (sin normAngle))))))) (/ normAngle (sin normAngle))))
(* u (+ normAngle (* -1/6 (* (pow normAngle 3) (pow u 2)))))
(* u (+ normAngle (* (pow u 2) (+ (* -1/6 (pow normAngle 3)) (* 1/120 (* (pow normAngle 5) (pow u 2)))))))
(* u (+ normAngle (* (pow u 2) (+ (* -1/6 (pow normAngle 3)) (* (pow u 2) (+ (* -1/5040 (* (pow normAngle 7) (pow u 2))) (* 1/120 (pow normAngle 5))))))))
(+ (/ (* n0_i (sin (* normAngle (+ 1 (* -1 u))))) (sin normAngle)) (/ (* n1_i (sin (* normAngle u))) (sin normAngle)))
(/ (* n0_i (sin (* normAngle (+ 1 (* -1 u))))) (sin normAngle))
(/ (sin (* normAngle (+ 1 (* -1 u)))) (sin normAngle))
(sin (* normAngle (+ 1 (* -1 u))))
(* n0_i (+ (/ (sin (* normAngle (- 1 u))) (sin normAngle)) (/ (* n1_i (sin (* normAngle u))) (* n0_i (sin normAngle)))))
(* -1 (* n0_i (+ (* -1 (/ (sin (* normAngle (- 1 u))) (sin normAngle))) (* -1 (/ (* n1_i (sin (* normAngle u))) (* n0_i (sin normAngle)))))))
(* n1_i (+ (/ (sin (* normAngle u)) (sin normAngle)) (/ (* n0_i (sin (* normAngle (- 1 u)))) (* n1_i (sin normAngle)))))
(* -1 (* n1_i (+ (* -1 (/ (sin (* normAngle u)) (sin normAngle))) (* -1 (/ (* n0_i (sin (* normAngle (- 1 u)))) (* n1_i (sin normAngle)))))))
Outputs
(+ (* n0_i (- 1 u)) (* n1_i u))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 (*.f32 #s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle))) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i))
(+ (* n0_i (- 1 u)) (+ (* n1_i u) (* (pow normAngle 2) (- (+ (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n1_i (pow u 3)))) (+ (* -1/6 (* n0_i (- 1 u))) (* -1/6 (* n1_i u)))))))
(*.f32 (*.f32 #s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle))) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i)
(+ (* n0_i (- 1 u)) (+ (* n1_i u) (* (pow normAngle 2) (- (+ (* -1/6 (* n0_i (pow (- 1 u) 3))) (+ (* -1/6 (* n1_i (pow u 3))) (* (pow normAngle 2) (- (+ (* 1/120 (* n0_i (pow (- 1 u) 5))) (* 1/120 (* n1_i (pow u 5)))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (+ (* -1/6 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))) (+ (* 1/120 (* n0_i (- 1 u))) (* 1/120 (* n1_i u))))))))) (+ (* -1/6 (* n0_i (- 1 u))) (* -1/6 (* n1_i u)))))))
(*.f32 #s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle))) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))
(+ (* n0_i (- 1 u)) (+ (* n1_i u) (* (pow normAngle 2) (- (+ (* -1/6 (* n0_i (pow (- 1 u) 3))) (+ (* -1/6 (* n1_i (pow u 3))) (* (pow normAngle 2) (- (+ (* 1/120 (* n0_i (pow (- 1 u) 5))) (+ (* 1/120 (* n1_i (pow u 5))) (* (pow normAngle 2) (- (+ (* -1/5040 (* n0_i (pow (- 1 u) 7))) (* -1/5040 (* n1_i (pow u 7)))) (+ (* -1/6 (- (* 1/120 (* n0_i (pow (- 1 u) 5))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (* 1/120 (* n0_i (- 1 u)))))) (+ (* -1/6 (- (* 1/120 (* n1_i (pow u 5))) (+ (* -1/6 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))) (* 1/120 (* n1_i u))))) (+ (* -1/5040 (* n0_i (- 1 u))) (+ (* -1/5040 (* n1_i u)) (+ (* 1/120 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (* 1/120 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u))))))))))))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (+ (* -1/6 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))) (+ (* 1/120 (* n0_i (- 1 u))) (* 1/120 (* n1_i u))))))))) (+ (* -1/6 (* n0_i (- 1 u))) (* -1/6 (* n1_i u)))))))
#s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle)))
(* n0_i (- 1 u))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 u normAngle)))
(+ (* n0_i (- 1 u)) (* (pow normAngle 2) (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))))
#s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 u normAngle))
(+ (* n0_i (- 1 u)) (* (pow normAngle 2) (- (+ (* -1/6 (* n0_i (pow (- 1 u) 3))) (* (pow normAngle 2) (- (* 1/120 (* n0_i (pow (- 1 u) 5))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (* 1/120 (* n0_i (- 1 u))))))) (* -1/6 (* n0_i (- 1 u))))))
(*.f32 u normAngle)
(+ (* n0_i (- 1 u)) (* (pow normAngle 2) (- (+ (* -1/6 (* n0_i (pow (- 1 u) 3))) (* (pow normAngle 2) (- (+ (* 1/120 (* n0_i (pow (- 1 u) 5))) (* (pow normAngle 2) (- (* -1/5040 (* n0_i (pow (- 1 u) 7))) (+ (* -1/6 (- (* 1/120 (* n0_i (pow (- 1 u) 5))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (* 1/120 (* n0_i (- 1 u)))))) (+ (* -1/5040 (* n0_i (- 1 u))) (* 1/120 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u)))))))))) (+ (* -1/6 (- (* -1/6 (* n0_i (pow (- 1 u) 3))) (* -1/6 (* n0_i (- 1 u))))) (* 1/120 (* n0_i (- 1 u))))))) (* -1/6 (* n0_i (- 1 u))))))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) #s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))) n1_i)))
(- 1 u)
#s(approx (sin (* (- 1 u) normAngle)) (*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) #s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))) n1_i))
(- (+ 1 (* (pow normAngle 2) (- (* -1/6 (pow (- 1 u) 3)) (* -1/6 (- 1 u))))) u)
(*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) #s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))) n1_i)
(- (+ 1 (* (pow normAngle 2) (- (+ (* -1/6 (pow (- 1 u) 3)) (* (pow normAngle 2) (- (* 1/120 (pow (- 1 u) 5)) (+ (* -1/6 (- (* -1/6 (pow (- 1 u) 3)) (* -1/6 (- 1 u)))) (* 1/120 (- 1 u)))))) (* -1/6 (- 1 u))))) u)
#s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) #s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))))
(- (+ 1 (* (pow normAngle 2) (- (+ (* -1/6 (pow (- 1 u) 3)) (* (pow normAngle 2) (- (+ (* 1/120 (pow (- 1 u) 5)) (* (pow normAngle 2) (- (* -1/5040 (pow (- 1 u) 7)) (+ (* -1/6 (- (* 1/120 (pow (- 1 u) 5)) (+ (* -1/6 (- (* -1/6 (pow (- 1 u) 3)) (* -1/6 (- 1 u)))) (* 1/120 (- 1 u))))) (+ (* -1/5040 (- 1 u)) (* 1/120 (- (* -1/6 (pow (- 1 u) 3)) (* -1/6 (- 1 u))))))))) (+ (* -1/6 (- (* -1/6 (pow (- 1 u) 3)) (* -1/6 (- 1 u)))) (* 1/120 (- 1 u)))))) (* -1/6 (- 1 u))))) u)
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (sin.f32 (*.f32 u normAngle))) n1_i)))
(* normAngle (- 1 u))
#s(approx (sin (* (- 1 u) normAngle)) (*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (sin.f32 (*.f32 u normAngle))) n1_i))
(* normAngle (- (+ 1 (* -1/6 (* (pow normAngle 2) (pow (- 1 u) 3)))) u))
(*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (sin.f32 (*.f32 u normAngle))) n1_i)
(* normAngle (- (+ 1 (* (pow normAngle 2) (+ (* -1/6 (pow (- 1 u) 3)) (* 1/120 (* (pow normAngle 2) (pow (- 1 u) 5)))))) u))
#s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (sin.f32 (*.f32 u normAngle)))
(* normAngle (- (+ 1 (* (pow normAngle 2) (+ (* -1/6 (pow (- 1 u) 3)) (* (pow normAngle 2) (+ (* -1/5040 (* (pow normAngle 2) (pow (- 1 u) 7))) (* 1/120 (pow (- 1 u) 5))))))) u))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))))
(* normAngle u)
(*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))
(* n1_i u)
(sin.f32 (*.f32 u normAngle))
(+ (* n1_i u) (* (pow normAngle 2) (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))))
#s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))
(+ (* n1_i u) (* (pow normAngle 2) (- (+ (* -1/6 (* n1_i (pow u 3))) (* (pow normAngle 2) (- (* 1/120 (* n1_i (pow u 5))) (+ (* -1/6 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))) (* 1/120 (* n1_i u)))))) (* -1/6 (* n1_i u)))))
#s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))
(+ (* n1_i u) (* (pow normAngle 2) (- (+ (* -1/6 (* n1_i (pow u 3))) (* (pow normAngle 2) (- (+ (* 1/120 (* n1_i (pow u 5))) (* (pow normAngle 2) (- (* -1/5040 (* n1_i (pow u 7))) (+ (* -1/6 (- (* 1/120 (* n1_i (pow u 5))) (+ (* -1/6 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))) (* 1/120 (* n1_i u))))) (+ (* -1/5040 (* n1_i u)) (* 1/120 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u))))))))) (+ (* -1/6 (- (* -1/6 (* n1_i (pow u 3))) (* -1/6 (* n1_i u)))) (* 1/120 (* n1_i u)))))) (* -1/6 (* n1_i u)))))
(/.f32 #s(literal 1 binary32) (sin.f32 normAngle))
u
(sin.f32 normAngle)

rewrite1.0ms (0%)

Memory
2.6MiB live, 2.6MiB allocated
Counts
22 → 22
Calls
Call 1
Inputs
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 (*.f32 #s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle))) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i))
(*.f32 (*.f32 #s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle))) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i)
(*.f32 #s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle))) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))
#s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle)))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 u normAngle)))
#s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 u normAngle))
(*.f32 u normAngle)
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) #s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))) n1_i)))
#s(approx (sin (* (- 1 u) normAngle)) (*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) #s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))) n1_i))
(*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) #s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))) n1_i)
#s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) #s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (sin.f32 (*.f32 u normAngle))) n1_i)))
#s(approx (sin (* (- 1 u) normAngle)) (*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (sin.f32 (*.f32 u normAngle))) n1_i))
(*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (sin.f32 (*.f32 u normAngle))) n1_i)
#s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (sin.f32 (*.f32 u normAngle)))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))))
(*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))
(sin.f32 (*.f32 u normAngle))
#s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))
#s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))
(/.f32 #s(literal 1 binary32) (sin.f32 normAngle))
(sin.f32 normAngle)
Outputs
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 (*.f32 #s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle))) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i))
(*.f32 (*.f32 #s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle))) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i)
(*.f32 #s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle))) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))
#s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle)))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 u normAngle)))
#s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 u normAngle))
(*.f32 u normAngle)
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) #s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))) n1_i)))
#s(approx (sin (* (- 1 u) normAngle)) (*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) #s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))) n1_i))
(*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) #s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))) n1_i)
#s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) #s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (sin.f32 (*.f32 u normAngle))) n1_i)))
#s(approx (sin (* (- 1 u) normAngle)) (*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (sin.f32 (*.f32 u normAngle))) n1_i))
(*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (sin.f32 (*.f32 u normAngle))) n1_i)
#s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (sin.f32 (*.f32 u normAngle)))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))))
(*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))
(sin.f32 (*.f32 u normAngle))
#s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))
#s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))
(/.f32 #s(literal 1 binary32) (sin.f32 normAngle))
(sin.f32 normAngle)

eval5.0ms (0.1%)

Memory
-30.5MiB live, 7.9MiB allocated
Compiler

Compiled 2 884 to 108 computations (96.3% saved)

prune15.0ms (0.4%)

Memory
33.7MiB live, 33.7MiB allocated
Pruning

16 alts after pruning (2 fresh and 14 done)

PrunedKeptTotal
New49251
Fresh000
Picked055
Done099
Total491665
Accuracy
97.0%
Counts
65 → 16
Alt Table
Click to see full alt table
StatusAccuracyProgram
96.9%
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
24.4%
(+.f32 #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
57.2%
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i))
14.1%
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 (*.f32 #s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle))) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i))
8.1%
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))))
9.3%
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))))
11.1%
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 #s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))) n0_i))
10.1%
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))
8.1%
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (-.f32 #s(literal 1 binary32) u)))
10.1%
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))
10.3%
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 u normAngle)))
38.4%
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i)))
10.9%
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (sin.f32 (*.f32 u normAngle))) n1_i)))
33.9%
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (sin.f32 #s(approx (* u normAngle) (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))))) n1_i)))
11.3%
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (sin.f32 normAngle)) n1_i)))
11.3%
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) #s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))) n1_i)))
Compiler

Compiled 1 530 to 448 computations (70.7% saved)

regimes33.0ms (0.8%)

Memory
-28.7MiB live, 51.1MiB allocated
Counts
19 → 1
Calls
Call 1
Inputs
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (-.f32 #s(literal 1 binary32) u)))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 u normAngle)))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) #s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))) n1_i)))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 #s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))) n0_i))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle))))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (sin.f32 normAngle)) n1_i)))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (sin.f32 (*.f32 u normAngle))) n1_i)))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 #s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle))) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i)))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 (*.f32 #s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle))) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i))
(+.f32 #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (sin.f32 #s(approx (* u normAngle) (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))))) n1_i)))
(+.f32 #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
Outputs
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
Calls

5 calls:

8.0ms
normAngle
7.0ms
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
6.0ms
n1_i
6.0ms
u
5.0ms
n0_i
Results
AccuracySegmentsBranch
96.9%1normAngle
96.9%1u
96.9%1n0_i
96.9%1n1_i
96.9%1(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
Compiler

Compiled 29 to 33 computations (-13.8% saved)

regimes29.0ms (0.7%)

Memory
10.3MiB live, 48.7MiB allocated
Counts
18 → 3
Calls
Call 1
Inputs
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (-.f32 #s(literal 1 binary32) u)))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 u normAngle)))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) #s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))) n1_i)))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 #s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))) n0_i))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle))))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (sin.f32 normAngle)) n1_i)))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (sin.f32 (*.f32 u normAngle))) n1_i)))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 #s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle))) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i)))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 (*.f32 #s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle))) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i))
(+.f32 #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (sin.f32 #s(approx (* u normAngle) (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))))) n1_i)))
(+.f32 #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
Outputs
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i)))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i)))
Calls

5 calls:

7.0ms
n0_i
5.0ms
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
5.0ms
u
5.0ms
n1_i
5.0ms
normAngle
Results
AccuracySegmentsBranch
61.1%2u
68.7%3n0_i
69.9%3n1_i
57.2%1normAngle
57.2%1(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
Compiler

Compiled 29 to 33 computations (-13.8% saved)

regimes24.0ms (0.6%)

Memory
1.5MiB live, 39.9MiB allocated
Counts
14 → 1
Calls
Call 1
Inputs
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (-.f32 #s(literal 1 binary32) u)))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 u normAngle)))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) #s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))) n1_i)))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 #s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))) n0_i))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle))))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (sin.f32 normAngle)) n1_i)))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (sin.f32 (*.f32 u normAngle))) n1_i)))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 #s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle))) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i)))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 (*.f32 #s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle))) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i))
Outputs
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i)))
Calls

5 calls:

6.0ms
u
4.0ms
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
4.0ms
n1_i
4.0ms
normAngle
4.0ms
n0_i
Results
AccuracySegmentsBranch
38.4%1(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
38.4%1normAngle
38.4%1u
38.4%1n0_i
38.4%1n1_i
Compiler

Compiled 29 to 33 computations (-13.8% saved)

regimes21.0ms (0.5%)

Memory
-1.2MiB live, 37.4MiB allocated
Counts
12 → 1
Calls
Call 1
Inputs
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (-.f32 #s(literal 1 binary32) u)))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 u normAngle)))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) #s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))) n1_i)))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 #s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))) n0_i))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle))))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (sin.f32 normAngle)) n1_i)))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (sin.f32 (*.f32 u normAngle))) n1_i)))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 #s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle))) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))))
Outputs
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (sin.f32 normAngle)) n1_i)))
Calls

5 calls:

4.0ms
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
4.0ms
u
4.0ms
normAngle
4.0ms
n1_i
4.0ms
n0_i
Results
AccuracySegmentsBranch
11.3%1u
11.3%1normAngle
11.3%1n0_i
11.3%1n1_i
11.3%1(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
Compiler

Compiled 29 to 33 computations (-13.8% saved)

regimes15.0ms (0.4%)

Memory
-12.6MiB live, 28.8MiB allocated
Counts
6 → 1
Calls
Call 1
Inputs
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (-.f32 #s(literal 1 binary32) u)))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 u normAngle)))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) #s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))) n1_i)))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 #s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle))) n0_i))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (sin.f32 (*.f32 u normAngle))))
Outputs
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) #s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))) n1_i)))
Calls

5 calls:

5.0ms
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
2.0ms
u
2.0ms
n1_i
2.0ms
normAngle
2.0ms
n0_i
Results
AccuracySegmentsBranch
11.3%1(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
11.3%1n0_i
11.3%1n1_i
11.3%1normAngle
11.3%1u
Compiler

Compiled 29 to 33 computations (-13.8% saved)

regimes9.0ms (0.2%)

Memory
21.6MiB live, 21.6MiB allocated
Counts
3 → 1
Calls
Call 1
Inputs
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (-.f32 #s(literal 1 binary32) u)))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 u normAngle)))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))
Outputs
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 u normAngle)))
Calls

5 calls:

2.0ms
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
2.0ms
normAngle
2.0ms
u
2.0ms
n1_i
2.0ms
n0_i
Results
AccuracySegmentsBranch
10.3%1n0_i
10.3%1normAngle
10.3%1u
10.3%1(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
10.3%1n1_i
Compiler

Compiled 29 to 33 computations (-13.8% saved)

regimes7.0ms (0.2%)

Memory
-19.8MiB live, 19.0MiB allocated
Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

Counts
1 → 1
Calls
Call 1
Inputs
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (-.f32 #s(literal 1 binary32) u)))
Outputs
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (-.f32 #s(literal 1 binary32) u)))
Calls

5 calls:

2.0ms
u
1.0ms
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
1.0ms
n1_i
1.0ms
n0_i
1.0ms
normAngle
Results
AccuracySegmentsBranch
8.1%1n0_i
8.1%1u
8.1%1n1_i
8.1%1(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
8.1%1normAngle
Compiler

Compiled 29 to 33 computations (-13.8% saved)

bsearch1.0ms (0%)

Memory
2.5MiB live, 2.5MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
0.0ms
4.151531929580989e-20
6.157935084158504e-20
0.0ms
-2.1738558787980396e-18
-1.4377648088896576e-18
Compiler

Compiled 28 to 24 computations (14.3% saved)

simplify6.0ms (0.1%)

Memory
21.6MiB live, 21.6MiB allocated
Algorithm
egg-herbie
Calls
Call 1
Inputs
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
(if (<=.f32 n1_i #s(literal -9671407/4835703278458516698824704 binary32)) #s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))) (if (<=.f32 n1_i #s(literal 7737125/154742504910672534362390528 binary32)) #s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i)) #s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i)))))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i)))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (sin.f32 normAngle)) n1_i)))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) #s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))) n1_i)))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 u normAngle)))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (-.f32 #s(literal 1 binary32) u)))
Outputs
(+.f32 (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))
(if (<=.f32 n1_i #s(literal -9671407/4835703278458516698824704 binary32)) #s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i))) (if (<=.f32 n1_i #s(literal 7737125/154742504910672534362390528 binary32)) #s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) (*.f32 (*.f32 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n0_i)) #s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i)))))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 (*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle))) n1_i)))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) (sin.f32 normAngle)) n1_i)))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (sin (* (- 1 u) normAngle)) (*.f32 #s(approx (* (sin (* u normAngle)) (/ 1 (sin normAngle))) #s(approx (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)))) n1_i)))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (*.f32 u normAngle)))
#s(approx (+ (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (* (* (sin (* u normAngle)) (/ 1 (sin normAngle))) n1_i)) #s(approx (* (* (sin (* (- 1 u) normAngle)) (/ 1 (sin normAngle))) n0_i) (-.f32 #s(literal 1 binary32) u)))

soundness1.0ms (0%)

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

Compiled 413 to 53 computations (87.2% saved)

preprocess104.0ms (2.5%)

Memory
-16.4MiB live, 56.4MiB allocated
Compiler

Compiled 876 to 140 computations (84% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...